{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from analysis import ANALYSIS_CONFIGS\n",
    "from analysis.analysis import FinancialAnalysis\n",
    "from analysis.doc_utils import ReportDocument"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['all_analysis.json',\n",
       " 'asset_quality_analysis.json',\n",
       " 'asset_indepth_analysis.json',\n",
       " 'asset_fraud_analysis.json',\n",
       " 'profit_analysis.json',\n",
       " 'cash_flow_analysis.json']"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ANALYSIS_CONFIGS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "analysis = FinancialAnalysis(ANALYSIS_CONFIGS[0])\n",
    "images, titles, fields = analysis.images, analysis.titles, analysis.fields"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 总资产规模和增长率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>总资产增长率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>23.56%</td>\n",
       "      <td>19.29%</td>\n",
       "      <td>12.65%</td>\n",
       "      <td>16.95%</td>\n",
       "      <td>11.63%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  2016           2017           2018            2019  \\\n",
       "资产合计(元)  6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "总资产增长率            nan%         23.56%         19.29%          12.65%   \n",
       "\n",
       "                   2020            2021  \n",
       "资产合计(元)  12,457,568,300  13,906,035,200  \n",
       "总资产增长率           16.95%          11.63%  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1 = analysis.init_table('t1')\n",
    "t1['总资产增长率'] = t1['资产合计(元)'].pct_change()\n",
    "\n",
    "analysis.format_show_table('t1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa0AAAEFCAYAAABQGbi0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XmYVdWd7vHveyiKoZgHi1lAQEVUMKCiqGich5jEjpqYOKWbdBKT7tt90zGJud5OzE30Jnan7WhCq33N0LZD4pCgEWdRwIAKKggCMo8yU4BAUb/7x96Fx2NNDOdUnar38zz1cPY+e1irgPOetfbaaysiMDMzKwaZxi6AmZlZQzm0zMysaDi0zMysaDi0zMysaDi0zMysaDi0zFKSSnOWe9awzUmSemQtnyPplv04x5GSzju4kpq1XA4tM0BSK+BVScdlrZ4k6ZycTQcCL0v6tKROwM+BayTNzPr5bs6xs8PwCODWrPckqc0hrYxZMybfp2WWkHQ+cFlE/I2kIcD9ETGmhu36AocB/wDMAF4Evh4REyS9CnwtIl5Lty0FXgN2A7n/2TLpuvUR4daXWQM4tMwASS8AZcCunLcOAx6LiG9lbXsEcAXw04jYnXYPXgOcDSyOiN01HH8kcAdwVkTsSVt2c4ErImJWPupk1hyVNHYBzJqI3cC1EbEke6Wka4GhWctDgEeBrwFtJX0dOA+4AHgMeEDSE8BbEbGjer+ImCVpOXAS8DJJ6M1L17cCqsLfIM3q5ZaWGftaWoeRhFe2bsADEfEtSRngVeCfgZkkITUJ+HlEbJFUDnwZ+CvguoiYLWkAsBB4r47TtwLOj4hFh7JOZs2RQ8ssh6RjI+KtWt5rC/wJ6A/srGGTPhFxWNb2h5N0L47MS2HNWhh3D1qLl44QrAIGA9OBn0h6KCL+X3r96kbgKxFRFREfSNpFei1K0jUkAykmpcdamXP4nsD6wtXGrHnzkHczuAooJbne1BP4G+Dy9L33gPbAXVnbZ3/Z+yqwLR1RCB8fITiaZPSgmR0CDi1r0SSVAWcCz5Fez4qIVRFxYbrJH4BvAW0kdUnX/ROwUdIvgEXALOBpSS8B362+70pSCfAN4PeFqo9Zc+fuQWvpSoB/iIhdkhYA90pakb7XHlgTEauAawEk/R/gNKAd8EvgnnTU33BJ44DvkQzE+BTwJZIRgn8pZIXMmjMPxDDbD5KOBLalQVbbNu0iYmc6lL1dRFQUroRmzZtDy8yshZPUDfgE8EZErM9dPsBjlgMbI2LPISyqr2mZmbVkkrqS3MZxIvB8OlF07nJd+98p6ZL09Q2SZqTXis871IEFvqZlZtbSHUdyXXd6GmBfy1k+AXiqph0lnQb0iog/pqtGAncDY4Dt+Shs0YRWJpOJdu3aNXYxzMyKyo4dOwJ4PWvVxIiYWL0QES8CSDqdpHV1cURszVr+QU3HldQa+A/gCUmXRsRjgIDWwLlAgx/Zsz+KJrTatWvH9u15CW4zs2ZL0s6IGF3PNiKZD3MTsCd3uZbdriaZ9Pk24BvplGWTgeuAx4HHJf0oIp4/NDVJ+JqWmVkLF4mvA28Cn8pdrmW3USSttjXAb4EzI+IB4H8Dm0nm5bzsUJfVoWVm1oJJ+rakq9PFLsDAnOXNtey6kGTqM0hmflmavh5KctP9LvKQMQ4tM7OWbSLwpXRGl1Y1LE+WNDx9bly2e4Az0+2+Bvw0fZr3GpJuwwnAM4e6sEVzn1ZZWVn4mpaZ2f6RtCMiyhq7HIeKW1pmZlY0ChZaknpLOltSx0Kd08zMmpe8hZakcklT0tfDgAeAU4EXJZVKOkHSM5JekfSP+SqHmZk1H3m5Tyu9i/o+oLof9TiSx48vknQsMAi4A7gSWAG8IukPEbE4H+UxM7PmIV8trb0kN6ZtBYiIh4Glki4CupIMlewWEcvTxzpsADrlqSxmZtZM5KWlFRFbAZKbqvfpQPI02KUkT3d9RdINwEZgIMlNbB8haQLJsElKS0vzUVQzs/028MZJBT3fkp9cVNDzNWUFG4gREZsj4hqSeanGAF8B5gE3ALdGDWPvI2JiRIyOiNElJUUz45SZmeVJQUJL0l3p5IuQ3mEdEXuB+em63xWiHGZmVtwK1Xy5DfiNpAAmR0R1WN0CfLumVpaZmVmuvIZWRIxP/1wMjKvh/WvyeX4zM2tePCOGmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkVDYeWmZkdUpLKJbXOx7EdWmZmLZSkzpKelDRZ0iNp2DwhaaakX9WxX9fc7STdIGmGpDLgvIjYk48yO7TMzFquq4DbI+JcYA1wBfC7iBgNdJQ0upb9vlTDdiOBu0meTL89XwX2M+zNzJq3Ekkzs5YnRsREgIi4M2t9T2AF0FtSF6A/sLyWY24ARuRsJ6A1cC7JA37zwqFlZnkx8MZJBT3fkp9cVNDzFZHKtEVUK0ljga7Ab4EfA98E3gE21rLLy8BFOdtNBq4DHgcel/SjiHj+kNQgi7sHzcxaMEndgDuA64Gbgb+NiB8A80hCqCYf2y4iHgD+N7AZmARclo/yOrTMzFooSaXAQ8B3ImIpSWvrWEmtgJOAqGXX2rYbCiwCdpGnfHFomZm1XF8GTgC+J+kFYDowEdgCdAPulzRcUu41qh/XsF0nksEcc4EJwDP5KLCvaZmZtVARcRdwV87qW3OW5wI35ez3F+CYGg75dPrnyENSwBq4pWVmZkUjb6GV3qQ2JWv5aEmPZS2fI+kFSdMkfT5f5TAzs+YjL92DkroC9wFl6fIRwP8FOqTLrYCfAacCe4DZkh6JiA/yUR4zM2se8tXS2ktyZ/XWdHkbHx3+2BGoiIhtaVDtAtrlHkTShHSakJmVlZV5KqqZmRWLvLS0ImIrgKTq5XU5y5slbZF0JdADWBcRm2o4zkSSESqUlZXVNvTSzMxaiMYciPFpkpbY3wP/3IjlMDOzItFooRURu4D1wJsRMaW+7c3MzBr7Pq1bgK82chnMzKxI5DW0ImJ8Pcvn5vP8ZmbWvPjmYjMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxoOLTMzKxqN/WgSsxZt4I2TCnauJT+5qGDnMssXt7TMzOyQklQuqXU+ju3QMjNroSR1lvSkpMmSHpFUmq4vl/RGPfveI2mapJvS5RskzZBUBpwXEXvyUWaHlplZ81YiaWbWz4Ss964Cbk8fyLsGOD9d/1OgXW0HlPRZoFVEjAUGSxoKjATuBsYA2/NREfA1rRapKoLFW2BQZ8hIjV0cM8uvyogYXdMbEXFn1mJPYJ2ks0hCZ00dxxwPPJi+ngyMAwS0Bs4FbjnIMtfKLa0WaNHm4KmlVdw/r4r5G6uoimjsIplZI5I0FugKvA58H7ixnl3KgJXp641AOUl4XQysAB6XdGY+yuqWVgs0d2MSUlt2w7PLg5lrg9HlYmhXueVl1sJI6gbcAVxGElZ3RsRm1f1ZUMGH3YcdgExEPCBpKTAYmJQe7/lDXV63tFqgiwZlOLWPaJ9+ZakOL7e8zFqWdODFQ8B3ImIpcDbwdUkvACMl3V3Lrq+RdAkCHA8sSV8PBRYBu8hTvhQktCQNkjRJ0hRJP8tdLkQZ7EMlGXF8zwxfPNrhZdbCfRk4AfheGlS/iIjxETEemBURfy1puKTca1SPAl+SdDtwOTBJUieS62BzgQnAM/kocKG6B28FfhgR0yU9ALwKfKp6WdL4iHihQGWxVBJe4pjuwZwNwRvrgh2V7jY0ayki4i7grlreG5/+ORe4Kee9rZLGA+cAt0XElvStp9M/R+ajvFC40BpGcoEPYB3JyJTs5c4FKofVoL7wem1d8IlyMbSLw8vMEhGxiQ9HEBZMoa5pPQzcLOkSkvsA7slZframnSRNqL63oLKyskBFbblq6zbcvAueXRb89/wq5m9yt6GZNZ6ChFZE3AI8Cfw1cF8NyxW17DcxIkZHxOiSEg90LJTc8Grn8DKzJqKQSTALGAB8vpZla2Kquw2Hdw/mbgheXxfsrPwwvF5b625DMyusQobWt0imC9lRy7I1Ua0bEF6jy8UQh5eZ5VnBQisibq5r2Zq+usLrmWUfjjZ0eJlZvvhCke03h5eZNRaHlh0wh5eZFZpDyw5aPsOrkE/2BT/d16ypc2jZIeOWl5nlm0PLDjmHl5nli0PL8sbhZWaHmkPL8s7hZWaHikPLCiY7vKon5nV4mdn+cGhZwbXOiJE5s8rnhteYcnFEFweXmX2Un1xsjSYJr2Ri3lNyJuZ9Op2Y9+jDe+NGl5lVc2hZo6srvC455Xiuv2Ccw8vMAIeWNSG1hVf3zh0cXmYGOLSsCcoOr+den8f2D3YBDi+z5kJSm5zlEknXN2Rfh5Y1Wa0zYub8JUx8/CWef+Pj4XXdBeM4akAvh5dZEZHUCnhJ0j8rcS3wj8BnGrK/Rw9ak7dn715mzFvCrAXLGTm0PycePYiytm3o0bkDnzp1JOu3VDD17YXMX74GP0zZrGmLiL2SdgKLgE8Do4CfASc3ZH+HlhUNh5dZ8ZDUPyKW1/J2ACuBl0laWD9N19XL3YNWdKrDK7fbsDq8rrtgHEf2L2/kUpoVD0nlkqakr0+Q9IykVyT9Yx37DJD0gqTnJE1Mu/p+LOkpSQLOrGW/K0gCqj/w38CvgFKgr6TLJX2hrrIeUGhJai/pDEluqVmjqSu8Lh03igtPPpaSVv5eZlYXSV2B+4CydNUdwHXAOOAySYNq2fUrwFcj4iySADoW6Am8TtLlt6yW/cqBAcBgYGh6nI5AW6A30K+u8tb7P1rSsBpWDwa+CTxS3/5m+VZbeI0Y1JcvnnMyXTq0b+QSmjVpe4ErgK3pcreIWB4RAWwAOtW0U0R8LyLeSRe7A+sBkVx2Oh14sZb9/g1YDrwHbAfuAbYAiyLi5xFxW12FbcjX0DmSvpFz0rcj4rK0oGZNQnV4/eeTr7Bs7QYADuvaiavPG8uQvj0buXRmjaZE0sysnwnZb0bE1ojYkrXqFUk3pN10A4E36zp42t03JyJWAW8DhwNVJCMEj65ltwzwPnANcB7w1w2tTENC612gv6RHJPXJeW9HQ09kVig7PtjNA8/PZPrc9wBoW9qaz57+CU47bijy+HhreSojYnTWz8R6tv8KMA+4Abg1bXHVSNJg4H8Cfw8QEf8C/IYkG/4AfOxR4OllpXbAicBi4EHgR+m6ejXkmtSuiPgnSScBD0h6Avi3iNhO0hQ0a3Iigpdmv8uq9Zu56ORjaVPamrHHHEGf7l3449TZ7Ni1u7GLaNYkpUPS56eLv6ttu/Ra2P3A9TkttS7ANpLBFR1qOH4lSWBVmyXp28BlDSlfnS0tSRnSYIuIV0n6KdcBz0l6hKS/s0EkfTUdafKCpFnpCJNJkqZI+llDj2O2PxauXMevn5rG+5u3AXB4r+5cc/4p9O7euZFLZtak3QJ8u7qVJeksSTfkbHMjyYCKO9LP9TPSMRCzgb8A36CW61rVJJ0F+7oo/1PSx0IuV33dg18Dvle9EIl7IuIk4CsRcXl9J8ja966IGB8R44EpQGvghxFxGtBP0viGHstsf2yq2MFvJ09nzuKVAHRs35YvfPIkRg0d0MglM2s60s/m6tfXRMSUrOXnIuLfc7b/dkT0rv5cj4gXI+LdiHgzIhZHxNFpY6cuP6x+IakdMD39s1a1dg+m4+yrgO9K+hGwO/2plpHUNiJG1lOo3OP2JRny2I1kaCQkrbePffVNLxhOACgtLd2f05h9xJ69e5k0/S1Wrt/MJ084mlatMpwzejh9enRh8l/msGfv3sYuolmLIOniiPhTupidKf8OPBoRO+vav9bQSpuFdwJ3SrqEpLl4L3BXXRfmGuDrwF3AqcDNkqYD5wPfqaEME4GJAGVlZZ7joBYDb5xU0PMt+cnHrq0WjVkLl7N201YuPXUkncracczAPhzWpSOPvvwGm7Z5XJFZAZwjaUxE3AyEpFLgdqAS+F/17dygOy8j4o/AWOCDhu5Tk/Qa2ZnACxFxC/AkyVDH+yKi4kCPa7Y/Vm/Ywn1PTWXJmvUA9OzSkavPO4Wh/TyLhlm+RcTfAd3SWd1LgReAWSR5UG/jpMEBFBE7IuLeiDiYfpTTgFezWmqzSC7k3X4QxzTbbzt37eGhF2Yybc4iANq0LuEzp41i6qoqqjxxoVm+fRMYRjIc/5SIuJtkePzf1LdjoadhOg94KWv5W8DtEeF+GSu4CJjy5gJWb9jMhScfR9vS1sx6P1i3Izj38AztW/uODrNDTdIPgT3ATmCApOouwW3AbZJeioh5te1f0NCKiO/mLN9cyPOb1WThyvf59VNTuXTcKMq7dmLVdnjw3SrOG5ihd5mDy+wQm0YydRTAZ4HsEYYLgTovFXk2UTNgc8VOfvf0dI7smoTUjkp4bGEVs9+v4uDGHZlZtoh4IiKeioingG3Vr9OfOyNiRV37O7TMUpV7qzirvzijn8goud/jlVXB08uCPXsdXIXQq1sn2pa2buxiWOH82/7u4EeLmGWRxDHdRY92wVNLqqjYAws3Bxt2BucPzNC1rbsL82FI356cOmII5d06s2v3Hl6c/S6zFtb2/EArdpKOJXkcyQpJx0bEWw3dd79CS9Jwkgl0BQyNiLn7VVKzIlHeXnxuWIZnllaxvAI27YKHF1RxVv8MR3RxcB0qR/RJwqpX1rRabUpbc+6YYxgxqC9PzZizbwouK36SOgF9gZ+TTMq7AyhNn9nVlSRbyiNiSG3H2N/uwbdJnqU1GGhwMpoVo3Yl4qLBGUaXJyG1pwqeWlrFK6uq2OvrXAdlcJ+efOncsVx2xif2BdYHu/cwY95itlQkEyL06dGFa84by/iRR9K6VavGLK4dOn2B75M8MPIPwHCSLGkL/Bi4jeRZW7Xa3+7BQcDK9PXg/dzXrOhkJE7sJQ5rHzy7rIpde2F21rD4Mg+L3y+Devfg1BFD6NOjy751u3bvYeb8pcycv4Rdeyp5+c2FnDLiCMYcNZBMJsOJRw/iyP69eOa1uSxa9X4jlt4OVvrQyC9Iep7kXq1KkonYgw9vLK7zG+F+hVZELM1aXFrrhmbNzMBO4nNDM/x5aRXrd8Lq7fDQu1Wce3iGPh0cXPVpSFhV27N3Ly/Ofpe5S1dx7pgR9O3Rhc4d2nHZGZ9g/rI1PPv6O1Ts3NUY1bCDJKk3yWQS7UmewfV9kpngryBpbbUG6mxWNyi0JB0TEXNy1l0P/OdBzkNoVjQ6tRGfHZLhpZXBvI2RDItfVMXYPuL4HvIDJmswsFd3Th0xhL49u+5bt2tPJa/NX8LM+Uv5YPeeWvd9f3MFv3t6OiOH9Of044fRtrQ1Rw7oxcDePZgy+13eWLgMf/oUnV3AzcCvgO+SXKI6mWTy9L8iuaa1rq4DNLSl9a+S/gZYGRHV/8qujYh7D6TUZsWqJCPO6i96ta9iyspgb8DUVcHa7cGZ/TOUtnJwRQQrKuALZ59Ev6yw2r2nktfeXcqMeUvqDKtcsxYuZ8GKtZx1wtEcfXhv2rQu4ezRwzlmUF+emvE26zZ5oEaxiIiNwEZJl5G0qr4O/DwiNkj614j4+/qOsT/dg58HviJpKsnEhmUHUmiz5mB490wyLH5pFdt2w6ItsOGDKs4fmKFbCx0WHxGsrIAZa6tYvZ19gXWgYZVt+we7+ePU2bz13krOHTOcLh3a07t7Z64+9xRee3cpL7+14FBWxfJI0v8hmXxdwOVAZfoorPGShkZEnX+ZdYaWpJNIptmIiPgx8GNJx5DMIdjnUFTArFgd1j65zvXMsiqWbYPN6bD4M/uJoV1b1n37KyuCv6xJwqra7j2VvL5gGTPeWczOAwyrXEvWrOfeJ15m7DFHcOLRg2iVyTDmqIEc2b+cxVuCQZ1b5heGIvMsSWhBkiXPkATYJpJrW7fUtXN9La1jgYeAUQCS+gMXAv0Bf7WxFq9tibhoUIaZa4MZa4PKKnh6WbB2RxVje4tWmeb9IbqyIpixpopVWWFVkoFju4vrf/UiO3cdmrDKVrm3iilvLmDuktWcd+Ix9OvZlU5l7XhySRWDOsG4vhk6ljbv33sxi4hnYd+jqh6OiKnp8hvAtfXtX2dopdPFIykj6XKSaeN/TfIwyEcOquRmzYQkxvQS5e2Dp9Nh8W+uT4fFD8zQoRkOi1+Vtqw+ElaCET3EyJ6ifWvlJbCybdhawX898yrHDe7H+FFH0ra0NYu3woqKKk7sJY7tITIeHNOUtY2I7MdS7QTek6S6BvjV2YchqXva13hvRDwYEedExG8iYgOwLE1KMwMGdEpm0ejZLllesyMZFr+yovkMcVtdETy2aC+PLvowsEoEx/cUXzw6wyl9Cv9IlzffW8Hdk6YwtMuHN4G/sip4eEEV63Y0n999cyLpr4E7c1YfRjIwo84BfvV1D94MnAX8MeuZJ9UWAD8Abmp4Uc2at06l4jNDMry8Mpi7MdhZCY8vquLk3kkLpFiHxa/ennQDrsh6aEQrwYjuYtRhavRnj+34YDfnHJ7hqG7BSyuq2LIb1u+E3y+oYkQPcVIveWRn03IvcKWk0RExEyAi1kq6lORJxrWqr3vwm+mcUH9P0jV4M8nThiG5cNbuIAtu1uyUZMT4/qK8rIqXViTD4qetDtbsCM7qn6FNEX14rtmedAPmhtUx3cUJTSCscvXvKK44MsPr64LX1wVVAW+tD97bHIzrm2FwZ4r2i0NzEhFVkm4A/i9wSdZb9fbe1TvkPSIWA38n6RfApRHxiqRLI+KxAy6xWQtwdLcMPdomw+K37obFW+Dhncmw+O7tmvYH55rtwYy1VSzPugWqlWB4GlZNefqqkkwy9daQLkmra9V22F6ZzBt5eCc43QM1CkJS/4j42DyCkuaQPKU4gN7pbVTV2gGP1nXcekNLUh+gesbdV9NpOP4JKKrQGnjjpIKda8lPLirYuaxp69le/NXQDM8uq2LpNtiyG36/sIrx/cSwJjgsfu2OpBtwWRGGVa5ubcWlR2SYtymYuirYtReWboX7K6o4sVwc19MDNapJKicZyXda1roRwL9ExDn17LtvO0k/Bk4AzgfOJBm49xERcUzWvl+PiF+kr78J/CYiNtV1vvru0+pMMrXGGOBUkpuK3ySZisPMGqBtibhwUIbX1gV/WZMMi39mWbB2exWZjKiqavzBAjWFVUYwvJs4oVxFOwJSEkd3EwM7JcE1f1Py+5+6Onk9vl+G8rLirNuhIqkrcB9ZE0akA/BuJ5m1oq59c7frSTIl0yhgWQNOfy3wi/R1BfAPJPMR1qrWr3qSDktP/ingl8Ai4NYGFMLMckhidHmGiwdnaJtOB/rWhuDznzyJDu3aNFq51u0IJr23l98v+DCwMukAiy8eleH0fs1jyH67EvHJARkuPSJDl/TXveGDpNX70ooqdrXsJ1PvJbmpd2vWuuuA5xuwb+52ImkMnU4yEW59dma9vg+4UFKPunaoNbQiYh3JzcXvASOBLiQTGw4Dukg6Q9LZDSiUmaUGdEyGxR+WDmHq26ML155/KgPKuxW0HOt2BE8s3svDC5JuS0jC6pju4qrqsGqG1336dhBXDMswplxU3/f99obg/nlVLNwcNNP5v0skzcz6mZD9ZkRsjYgt1cuSugNfBH5a10Fr2e5t4HCgCnhJ0tE17Ddb0jRJ04BO6eupwMtAL+BLdVamrjcjYoek+cBxQGeSbsIj0tdnAG1IpuAwswbqWD0sflUwZ0PQvm0pl48fw5S3FvDq3Pfyeu73dyQDLJZkfafOCI7qJj5xmFrEAIVWmeRm8CFdgpdWVrGyAnZUwuSlVQzomAzU6NSmWf0eKiNi9H5s/xPgOxGxp56Rlh/bLiL+RdJCoJzkIY8XAe9U75De2/udiHgi+0CSrgIeB3ZExN66TlpX92BHSZNIrmX9GlgC3EFyXWtpRPwgIr5X18FrOe6dki5JX9+Tpqzv9bIWpVVGnNEvw5+mvcmeyr1kMuKM44fxmdNG0ab1/j6btX49u3TkycV7eWjBh4GVIblmddVRGcb3a3kj6rq2FZ8anOGT/bWvy3bZNvjv+VW8vq5FP536DOBWSS8AIyXVNhdgbdt1IRkduIuaM2bfTO7pBBaPAZ8EWtUXWFBHSysitqV3LV8O/C0wFPg2yUCMAyLpNKBXRPxR0mfTQo6VdG9DZvc1a27mLlnF+5u38elxI+nasYyh/cq5+rwOPPryG7y/uaL+A9SjZ5cOnDJiCEf278XirLA6Mm1ZNbMWxX6TxJHdxOGdgqmrk+ekVQZMXx28mw7U6NXCBmpExLDq15JeiIibJJ0FDI+If69nu2HAbJLQeoKcuQTT+7O6ShoYEUuALwC/jIgnG1q++roHV0t6CJgG/Jzk3/sy4KqGnqCapNbAfwBPpHc9jwceTN+eDIwjZxLetO91AkBpaen+ntKsKLy/eRu/fmoaF558LEP7ldO1YxlfPGcsk2fMYc6SVQd0zB6dO3DqiCEcOaDXvnXiw7Dq3MLDKlfbkuQ5aUd1DV5cUcWmXbDxA/jDwiqGdxcn9xJtS5r37ywixte2LiKeA56rb9+IeDdr9ceuZ6W6Af+SXu8KYIek/0HyT1RAx4g4qbZzNeTm4lXAR/7n1NFcrMvVwFzgNuAbJHNM3ZO+t5FkbH/uuScCEwHKyspabFvdmr9deyp5ZMobnDR8MKcdO5TWJa24aOxx9OnRhedef4e9DRwW36NzB04ZcQRHDei9b11VVRVvL1nFrRcOcFjVo08HcfmwDG+8H7y2NpnNZO6GYPGWYFwfMaRL8U7F1YS8GxGfkdQKuJhkiPtM4OashwzX6oA6zyNi8gHsNgqYGBFrJP0WOIUPp4HqQAOm7zBr7l6d+x6rN2zmklOOp6xtG0YNHUB510489sostu34oNb9uncq29eyqv5QraoK5ixZxbQ5i9hcsYNffubwQlWjqLXKiNHlYmiXpNW1ogJ2ViaPnJm3MTi9nz+qDlTa47YNIL1+9ZikPwE3An9KZ1uq/R+DZ7/rAAANSElEQVQ6hQ2KhcDg9PVoYCBJlyDA8SQDPcxavGVrN3Lfn6eycv1mAPr06MI155/CwF7dP7Ztt05lXHLK8Vx/4TiOOrw3UnKz8tuLV3LPpCk8+epbbK7YUegqNAud24hLBmc4e4Bol369X16RDNQ4efhgMs38WWl5EsBySAJM0j1peM0nuRZW78QVh36YUu3uAe6VdCXJ3dPjgcfTaaIuILkHzMyAip27uP/ZVzlz1FF8YtjhtG9TyufGj+bltxYwbc57dOtYxikjjuDoNKggaVm9s3QV0+a8x8Zt2+s5gzWEJIZ1FQM6BtNXJzP37w04/fhhDB/Ym8kz5rLi/TpnHbIsEVEp6a/SWTgEnC3pXpLrXOvreo5WtYKFVkRsAz6XvU7SeOAc4Lbsm9vMLAmhZ197h9XrN3PuicdQWlLCaccN46gBveneqcO+b/oRwTtLVzP17UUOqzxpW5LM3H9kt6TLcOMH0KNzR75w9knMXricF2e/ywe78/vQy2ZkDvA/SRovD6WvM8B/SSqNiN117VzIltbHpBMjPljvhmYt2Nylq1m3eRufHjeKbp3K6NmlI5AVVnMWsXGrw6oQepeJzw3N8IXfvMMpI4bQuqQVxw/pz5B+h/H8G/OYu2R1YxexSUtvLv5lRGxMX38/Ijam7/07yTiHphtaZtYw67dU8OvJ0zh/zDEM7VfOuyvWMvXthWxwWBVcq4x49Z3FzFu2hnNGD2dwn56UtW3DxWOPZ8Sgvjw9cy6btvk6Yk0ioopk5ovq1y9mvfd4Q47h0DIrErv3VPL41NlI0HIna2g6tmzfycMvvsaR/XvxyU8cRYd2bRnYqwfXXXAq0+e8x6vvvNfgWxWs4Tx206zIOLCalvnL13DPpJd5Y8EyIoKSVq0Yd9xQrr3gVPr37NrYxWt2HFpmZgdp155Knp45l98+PZ11m5L5srp36sDnzz6JC04aQbvSOh9LZfvBoWVmdois3rCFXz81jeffmMfuykoAjh3cjy9ffBojBvVt5NI1Dw4tM7NDqCqCGfOWcO8Tr7Bo5ToA2rcp5cKTj+XKs06kW8eyeo5gdXFomZnlwdbtO/n9S6/z6JQ39k3BNaC8G8cOdovrYHj0oJlZHr27Yi1L1qzntOOGMbhPT6a+vaixi1TUHFpmZnm2u3Ivz77+Di/Nfpc9e+t9zqHVwd2DZmYF4sA6eA4tMzMrGg4tMzMrGg4tMzMrGg4tMzMrGg4tMzMrGg4tMzMrGg4tMzM7YJLKJRVsRmCHlplZCyVpkKRJkqZI+lk9294p6ZL09Q2SZkgqA86LiD0FKTAOLTOzluxW4IcRcRrQT9L4mjaSdBrQKyL+mK4aCdwNjAEK+vhsh5aZWcs1DHg9fb0O6Jy7Qdr19x/AEkmXVq8GWgPnAk8WoJz7OLTMzJq3Ekkzs34mZL33MHBz2u13PvBsDftfDcwFbgNOlPQNYDJwMbACeFzSmfmtwocKOmGupHLgzxExStI9wHBgUkTcUshymJm1IJURMbqmNyLiFknjgG8B90VERQ2bjQImRsQaSb8FfhQRn5W0FBgMTAIuA57PU/k/otAtrZ8C7SR9FmgVEWOBwZKGFrgcZmaWmAUMAG6v5f2FJOEEMBpYmr4eCiwCdlHALCnYiSSdRXLBbg0wHngwfWsyMK6WfSZUN2kr00dXm5nZIfUt4PaI2CFpuKTcnq97gDMlvQR8DfippE4kn+VzgQnAM4UqbEG6ByWVAt8HPgM8CpQBK9O3NwIn1LRfREwEJgKUlZVF/ktqZtayRMTNWa/nAjflvL8N+FwNuz6d/jkyf6X7uEK1tG4E7oyIzelyBdAufd2hgOUwM7MiVqiBGGcDZ0n6OkkqDwCWA9OB44H5BSqHmZkVsYKEVkScXv1a0gvAp4ApkvoAFwAnF6IcZmZW3AreLRcR4yNiK8lgjOnAmRGxpdDlMDOz4lPQ+7SyRcQmPhxBaGZmVi8PgDAzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzs6Lh0DIzswMmqVxS60Kdz6FlZtbCpcHzRi3vdZX0hKSZkn6VrrtB0gxJZcB5EbGnUGV1aJmZ2U+BdrW89yXgdxExGugoaTQwErgbGANsL0wREwULLUmdJT0pabKkRySVSrpH0jRJNxWqHGZm9iFJZ5EEz5paNtkAjJDUBegPLAcEtAbOBZ4sRDmrFbKldRVwe0ScS/LLuRJoFRFjgcGShhawLGZmLUVJ2rVX/TOh+g1JpcD3gRvr2P9l4HDgm8A7wEZgMnAxsAJ4XNKZeSt9jpJCnSgi7sxa7Al8EfjXdHkyMA5YkL1P+sudAFBaWlqAUpqZNTuVaddeTW4E7oyIzZJq2/9m4G8jYqukfwCui4iJkpYCg4FJwGXA84e64DUp+DUtSWOBriRNzJXp6o1Aee62ETExIkZHxOiSkoLlq5lZS3E28HVJLwAjJd1dwzZdgWMltQJOAiJdPxRYBOyigFlS0NCS1A24A7geqODDC38dCl0WM7OWLiJOj4jxETEemAXcLumWnM1+DEwEtgDdgPsldSK5zDOXpDfsmUKVuWDNl7Tv9CHgOxGxVNJrJF2C04HjgfmFKouZmX1UGlwAN+Ws/wtwTA27PJ3+OTKPxfqYQrZuvgycAHwvbYoK+JKk24HLSfpFzczMalXIgRh3AXdlr5P0OHAOcFtEbClUWczMrDg16uiGiNgEPNiYZTAzs+LhwQ9mZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZlY0HFpmZnZQJJVLal2IczV6aEm6R9I0STc1dlnMzFqihnwO524j6QZJMySVAedFxJ5ClLVRQ0vSZ4FWETEWGCxpaGOWx8yspWnI53At24wE7gbGANsLVt6IKNS5Pn5y6d+AP0fEE5KuBNpFxH9mvT8BmJAungDsLHARS4DKAp+zkJpz/Vy34tWc69cYdWsHvJ61PDEiJlYv1Pc5XNs2wDjgDaAPcEtE7Mh3RSD5BTamMmBl+nojSTDtk/5iJ+buVCiSZkbE6MY6f7415/q5bsWrOdevidatzs/hOraZDFwHPA48LulHEfF8nsva6KFVQZLYAB1oAtfYzMxamIZ8Dn9sm4h4QNJSYDAwCbgMyHtoNXZIvEbSxAQ4HljSeEUxM2uRGvI5XNs2Q4FFwC4KlCeN3dJ6FJgiqQ9wAXByI5cnV6N1TRZIc66f61a8mnP9mmLdcj+Hr5R0S0TcVMc2J0vqBKwB5gK/An5QiMI26kAMAEldgXOAlyJiTaMWxsysBWrI53BT+axu9NAyMzNrqMa+pmVmZtZgLTa0JHWW9KSkyZIekVRa013h6fQkU2rY/4+SRha21A1zoHWT9M+SXkh/5kn6TuPUoHYHUbfBkp6VNEvS9xun9PU7iPqdIOkZSa9I+sfGKX3dGlK3mrZJ1zfpmXMOsm41fsZYzVpsaAFXAbdHxLkkFxOvJOeO77QP9z6SexT2kXQVsCgiZhW60A10QHWLiJsjYnxEjAfeBn5d+KLX60D/3m4A/ldEjATOk9Sz0AVvoAOt3x0k98yMAy6TNKjA5W6IeutWwzbnF8nMOQdatxo/Y6x2LTa0IuLOiHg6XewJfBF4MF2eTPKffy9wBbC1ej9J3YCfAZsknVm4EjfcgdatmqQxwIqIWJn7XmM7iLptAI6TVA60ATYXpsT75yDq1y0ilkdykXoD0KlARW6whtSthm3WAeNztytMiRvuIOpW6/9Dq1mLDa1qksYCXYHlfPSO7/KI2BoRW3J2+R/AQyRDPK+W9KmCFXY/HUDdqv0dyTf3JusA6vZnklsqvgk8RxOfJugA6veKkglMvwAMBN4sWGH3U111y90mIqbz8dkYymmi9rdu9fw/tBq06NBKW013ANfT8Nk5RgG/SId8PkjyLbDJOcC6IakLcFhELMp7IQ/QAdbtRuDaiPheuv05+S7ngTrA+n0FmEfSDXprNNFhwQ2pW8421LZdU3OAdbP91CT/8gshvQj6EPCdiFhKw2fnWEgybQnAaGBpHot5QA6ibgCXAk/ktYAH4SDqNgjoL6ktybxpTfVD/YDqFxF7gfnp4u/yXMwD0pC61bANNW1XsEI30EHUzfZXRLTIH+CrwCbghfTnGmA2cDvwDtA5a9sXsl73IflQfwV4GujY2HU5VHVLl/8LOKGx65CHv7eLgPeAbcD9JBfJG70+h/jv7j7gtMauw8HUrYZtriC5Plfj76Cp/Bxo3Wr7u/RP7T++uTiLmsgd3/nguhWv5ly/htatGH8HxVjmYuDQMjOzotFir2mZmVnxcWiZmVnRcGiZmVnRcGiZmVnRcGiZmVnR+P+tAJqtNGoWGwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f378aebeb8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t1')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 资产负债率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>负债合计(元)</th>\n",
       "      <td>2,289,957,600</td>\n",
       "      <td>2,669,143,900</td>\n",
       "      <td>3,324,513,200</td>\n",
       "      <td>3,677,639,200</td>\n",
       "      <td>4,263,789,000</td>\n",
       "      <td>5,139,976,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产负债率</th>\n",
       "      <td>35.70%</td>\n",
       "      <td>33.67%</td>\n",
       "      <td>35.16%</td>\n",
       "      <td>34.53%</td>\n",
       "      <td>34.23%</td>\n",
       "      <td>36.96%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  2016           2017           2018            2019  \\\n",
       "负债合计(元)  2,289,957,600  2,669,143,900  3,324,513,200   3,677,639,200   \n",
       "资产合计(元)  6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "资产负债率           35.70%         33.67%         35.16%          34.53%   \n",
       "\n",
       "                   2020            2021  \n",
       "负债合计(元)   4,263,789,000   5,139,976,700  \n",
       "资产合计(元)  12,457,568,300  13,906,035,200  \n",
       "资产负债率            34.23%          36.96%  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t2 = analysis.init_table('t2')\n",
    "t2['资产负债率'] = t2['负债合计(元)'] / t2['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f378aebe80>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 准货币资金与有息负债的差额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>货币资金(元)</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>2,581,883,300</td>\n",
       "      <td>2,196,706,800</td>\n",
       "      <td>4,054,121,700</td>\n",
       "      <td>3,921,052,700</td>\n",
       "      <td>3,802,201,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>交易性金融资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1,360,000,000</td>\n",
       "      <td>2,352,000,000</td>\n",
       "      <td>2,872,312,500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他流动资产里的理财产品</th>\n",
       "      <td>0</td>\n",
       "      <td>1,500,000,000</td>\n",
       "      <td>2,570,000,000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他流动资产里的结构性存款</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>准货币资金</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>4,081,883,300</td>\n",
       "      <td>4,766,706,800</td>\n",
       "      <td>5,414,121,700</td>\n",
       "      <td>6,273,052,700</td>\n",
       "      <td>6,674,513,800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>短期借款(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6,076,200</td>\n",
       "      <td>29,616,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一年内到期的非流动负债(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5,387,600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>长期借款(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应付债券(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>长期应付款</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>有息负债总额</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6,076,200</td>\n",
       "      <td>35,004,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>总货币资金与有息负债之差</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>4,081,883,300</td>\n",
       "      <td>4,766,706,800</td>\n",
       "      <td>5,414,121,700</td>\n",
       "      <td>6,266,976,500</td>\n",
       "      <td>6,639,509,500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         2016           2017           2018           2019  \\\n",
       "货币资金(元)         3,448,409,300  2,581,883,300  2,196,706,800  4,054,121,700   \n",
       "交易性金融资产(元)                  0              0              0  1,360,000,000   \n",
       "其他流动资产里的理财产品                0  1,500,000,000  2,570,000,000              0   \n",
       "其他流动资产里的结构性存款               0              0              0              0   \n",
       "准货币资金           3,448,409,300  4,081,883,300  4,766,706,800  5,414,121,700   \n",
       "短期借款(元)                     0              0              0              0   \n",
       "一年内到期的非流动负债(元)              0              0              0              0   \n",
       "长期借款(元)                     0              0              0              0   \n",
       "应付债券(元)                     0              0              0              0   \n",
       "长期应付款                       0              0              0              0   \n",
       "有息负债总额                      0              0              0              0   \n",
       "总货币资金与有息负债之差    3,448,409,300  4,081,883,300  4,766,706,800  5,414,121,700   \n",
       "\n",
       "                         2020           2021  \n",
       "货币资金(元)         3,921,052,700  3,802,201,300  \n",
       "交易性金融资产(元)      2,352,000,000  2,872,312,500  \n",
       "其他流动资产里的理财产品                0              0  \n",
       "其他流动资产里的结构性存款               0              0  \n",
       "准货币资金           6,273,052,700  6,674,513,800  \n",
       "短期借款(元)             6,076,200     29,616,700  \n",
       "一年内到期的非流动负债(元)              0      5,387,600  \n",
       "长期借款(元)                     0              0  \n",
       "应付债券(元)                     0              0  \n",
       "长期应付款                       0              0  \n",
       "有息负债总额              6,076,200     35,004,300  \n",
       "总货币资金与有息负债之差    6,266,976,500  6,639,509,500  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t3 = analysis.init_table('t3')\n",
    "t3['准货币资金'] = t3.T[:4].sum()\n",
    "t3['有息负债总额'] = t3.T[5:10].sum()\n",
    "t3['总货币资金与有息负债之差'] = t3['准货币资金'] - t3['有息负债总额']\n",
    "\n",
    "analysis.format_show_table('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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+8CBA9m5cydvvfUWkydPLlR2ypQpXHTRRQD07t2br776igULFvDcc8HzsNesWUPv3r256KKL6NGjB2eeeSZt27alcePGtGzZkmuvvbZgW08//XTBkMsbb7zBmDFj9llPd6dfv3784Q9/qLC2i0j1kpC7eprZVcB5BA+svgFY5+6PhPdZn+nubxWz3hCCh1aTmZl5ysqVhX+stnTpUo499tiC91nD4ve4yyt3xHn7/Hzv3r1ccskl9O3bl7S0NAYNGkT79u3ZuXMnaWlpbN++nTFjxvDVV18xYMAA5s2bR9OmTfnNb35D/fr1ad26NVdddRXHH388eXl5zJgxgzp16nDQQQfxyiuv0KRJE66++mpSUgqfk6dPn87YsWP585//TO/evalZsyZ79+4lLy+PevXqMWvWrELlhw0bRmZmJhs2bKB27doMHTq0QoZtih5/kSgpT96UlCkVzcw+dPfs0pRN1LDPycBYd19H8CzTs8JH0J1F4Yd+FOLuY909292zMzJKdXuKpKpRowbPPPMMjRs35s477+T8889n+vTpNG7cmLFjx/Luu++yZcsWXnvtNbp06UJubi533nkn27dvZ8SIEYwcOZJPP/2UuXPnkpKSQrdu3ejYsSPt2rXj8MMPp3bt2j8LfoBu3boxePBgNm3axMsvv0znzp059thjefbZZwt9C9izZw/XXHMN9erV49prr2X48OG4O127dmXu3LnJPFQiUskl6oLvF/z7CUvZwEqCJystKOYJR1VGnTp1SEtLo3Xr1sycOZNu3brxySefcPnll5OWlsbs2bPp2LEjgwYNolWrVowZM4YZM2YwevRo0tLSMDOGDx8OQOfOndm2bRu1atVi7dq1pKSkMH78eHbs2EH9+vWZPn0627dvZ9iwYTRp0oS2bdvywgsvcPjhh9OtWzeGDx9O06ZN6d+/PykpKVxzzTU0adKEpUuXMmPGjII6Z2RkcM8999CzZ0+uueaaA3XoRKQSSVT4Pwk8FT7DNY3gkXnXAXMStL+kWbp0KStXruSBBx5gxIgRjB8/nj59+jBixAhi70K6a9euuEE7Y8YMatYMnk+enp7OhAkTaNasGY8//jjp6ekMHDiQ3Nxcrr/+egBq1apF165deeihh3j66adp2LAhqampvPrqqwBcccUVHH300aSmpjJx4kR+8YvgGeXjx48HYODAgYk7GCJSZSUk/N19C9CryOJqcfVx3LhxnHPOOQC8+eab9OzZk5ycHAYNGkRaWhrTpk0DYNGiRSxevJglS5ZQq1YtWrduzZFHHklq6r8PeWnG4VNSUsjOzqZJkya8/fbbzJ49mzp16tChQwfuuusu0tLSOOiggwDYvHkzffv2pWbNmnzzTfD88L///e/s2rWL2267jfPOS+74o4hUXlXqR14H2qZNm5g5c2ZB+J999tlMnjyZjh078re//a0g+AGOOuooAIYOHcratWtZtWoVrVq1Ys+ePQVlipsKunv37kJj/7HrPPTQQ7g7CxcupGnTpgXBD9CmTRvOO+88Ro0axdChQxk6dCjPP/88WVlZCn4RKUThXwZz5szhsssuIyUlBXdn2rRpdOzYkTlz5tCrVy86dOjAqFGjWL16Nddddx0DBgygbdu2NGjQgL59+9KwYUMWL15csL3mzZsXDAG5O+7OokWL+PWvf02PHj0Kyh1yyCFcffXV9O/fn3PPPZfMzEweeeQRnnzySRYtWsTevXsLynbv3p2bb7654P3o0aO58MILk3B0RKQqqVL39ikq2dOoevbsWfB67969dO/evWBsPd/WrVu56KKLOOGEE7jlllto164dAHPnzuXdd9/l0Ucf5cknnyQlJYUnnniiYL3du3djZpx00kl89tlnBcND27ZtY9CgQRx//PHcfffdtGrVCgjm/q9bt44XXniBGjVqANCnTx/Wr1/P+vXrGTlyJADffPMNJ5xwAg8//DCPPvooJ554YsKOj4hUHQmZ518RsrOzveiTvDTP/MDS8Zco0zx/ERGp8hT+IiIRpPAXEYmgKn3BV0Qqj/LeayvZ4+ISUM9/P3z33Xf7/Hzr1q2lujXzTz/9lPTbL8+ZM4c1a9YAwa+R8/efl5dXaOqoiFRPVbvnf1e9Ct7eD2Uq3qNHD1566SUyMzMLLd+2bRsrVqxg3rx5vPfeewwdOrTgs6ysLOrUqVOo/IABA7juuusKfjwWz/XXX19wd87ly5czZswYHnnkEfLy8mjevHnBr4WnTJlCo0aNOPXUUwHo168f48aNo1atWoW2N336dI4//nguu+wy7rzzThYuXMjixYs5+eSTufXWW+natWuZjoWIVC1VO/wPgNNPP526deuyc+dOli1bxpAhQwo+27VrF4MHDyYrK4v77ruPXr16cdZZZ5E/ZXXy5MnccMMNdO7cuWCdUaNGsXz5ckaMGMGIESNYuHAh06ZN47TTTisos2zZMnJzc9mwYQNvvvkm33//PWvWrOGll15i+/bt/O53vyuY63/qqacyePBgJk2axNy5c2nQoEGh4H/hhRcYPnw4TZo04f333+fmm2/m22+/JTc3l4ceeojHH3880YdQRCoBhX8Z5d8a+eqrr2bw4MH069fvZ2UWLlzIp59+ytatWwstz83NLQjpPXv2cN9997Fs2TI+/vhj0tLSmDdvHuPGjSsU/AC333475513HkcccQSvvPIKu3fvZtWqVUyePJk2bdoUbHP16tVkZ2dzzDHH0KlTp4L169evz3fffUdqaipNmzbllltu4f3332fChAnMnDmTBQsWMHXqVLZs2cI//vGPuG0SkepF4V8OkyZNYtKkSXz55Zc89dRTAPzwww+cdtppjBo1CnenTZs2BU/yypd/J04IfjC1detW3nnnHbp3716o3Mknn0yPHj24//77efnll/nggw8455xzGD9+PD179mTHjh2sXr2a1q1bs3v3bhYsWECHDh2oWbMm3bp1+9mvjjt16lRwgjjllFO44447ADjiiCN48MEHefXVV2nevDldunRh9OjRCn+RCFD4l9Err7zCsGHDyMrKKnQPnX/+8598++23QHCrhiVLlrBt27ZC6+bm5hbcpO2EE07gT3/6E3PmzGHWrFls3LiRFStW0L59e6ZPn878+fOBYBjnnnvuYceOHQwYMIA+ffoUbG/ZsmW0adOGDh06AMHF2pycnEK9foB169axd+9eUlNTmT9/PldeeSUTJ04kKyuLXr16MX/+fI499ljeeOMNmjVrVuHHTEQqH4V/GeTk5DB27FgmTpzIkCFDSE9PL/isZs2aBRddTz/9dFatWgUEgbx582YaNmwI8LOZNPnrfPTRR8yePZv27dsDFMy+adq0KXXq1GHHjh3s3r2bZs2a8dhjj/H8888zePDgQheJa9WqRU5ODlu3buXll1+md+/e1K9fn5UrVxbcJTQrK4tJkyZx1FFH0bx5c/r06UOTJk34/vvvadiwIevWrUvEoRORSkZTPcsgOzub119/nUMOOYQvv/yy4CLtiBEjePbZZwvK3XvvvaxYsYJBgwYxb968goe6fPDBBz8bUsn/JjB79my6deuGu1OjRo24Uz/dnbp167J8+XI+/PBD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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37cfccfd0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bd67e80>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t3', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 应付预收减应收预付的差额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：应付票据(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>365,613,300</td>\n",
       "      <td>411,415,000</td>\n",
       "      <td>603,308,600</td>\n",
       "      <td>751,802,500</td>\n",
       "      <td>962,665,500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应付账款(元)</th>\n",
       "      <td>910,854,400</td>\n",
       "      <td>1,045,259,500</td>\n",
       "      <td>1,195,563,100</td>\n",
       "      <td>1,395,061,300</td>\n",
       "      <td>1,723,832,200</td>\n",
       "      <td>2,181,900,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>预收款项(元)</th>\n",
       "      <td>840,328,500</td>\n",
       "      <td>735,005,100</td>\n",
       "      <td>1,170,088,500</td>\n",
       "      <td>1,092,261,300</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>合同负债(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>949,591,228</td>\n",
       "      <td>1,026,782,402</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应付与预收合计</th>\n",
       "      <td>1,751,182,900</td>\n",
       "      <td>2,145,877,900</td>\n",
       "      <td>2,777,066,600</td>\n",
       "      <td>3,090,631,200</td>\n",
       "      <td>3,425,225,928</td>\n",
       "      <td>4,171,348,202</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：应收票据(元)</th>\n",
       "      <td>637,529,200</td>\n",
       "      <td>1,007,950,700</td>\n",
       "      <td>1,268,146,300</td>\n",
       "      <td>986,693,100</td>\n",
       "      <td>1,832,701,400</td>\n",
       "      <td>1,330,193,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>合同资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收款项融资</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>408,972,104</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收账款(元)</th>\n",
       "      <td>331,595,200</td>\n",
       "      <td>371,167,700</td>\n",
       "      <td>446,773,100</td>\n",
       "      <td>725,630,900</td>\n",
       "      <td>1,008,235,900</td>\n",
       "      <td>1,597,692,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>预付款项(元)</th>\n",
       "      <td>32,828,400</td>\n",
       "      <td>58,386,100</td>\n",
       "      <td>59,485,900</td>\n",
       "      <td>50,113,500</td>\n",
       "      <td>69,889,400</td>\n",
       "      <td>131,162,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收与预付合计</th>\n",
       "      <td>1,001,952,800</td>\n",
       "      <td>1,437,504,500</td>\n",
       "      <td>1,774,405,300</td>\n",
       "      <td>2,171,409,604</td>\n",
       "      <td>2,910,826,700</td>\n",
       "      <td>3,059,048,800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应付预收减应收预付的差额</th>\n",
       "      <td>749,230,100</td>\n",
       "      <td>708,373,400</td>\n",
       "      <td>1,002,661,300</td>\n",
       "      <td>919,221,596</td>\n",
       "      <td>514,399,228</td>\n",
       "      <td>1,112,299,402</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       2016           2017           2018           2019  \\\n",
       "其中：应付票据(元)                0    365,613,300    411,415,000    603,308,600   \n",
       "应付账款(元)         910,854,400  1,045,259,500  1,195,563,100  1,395,061,300   \n",
       "预收款项(元)         840,328,500    735,005,100  1,170,088,500  1,092,261,300   \n",
       "合同负债(元)                   0              0              0              0   \n",
       "应付与预收合计       1,751,182,900  2,145,877,900  2,777,066,600  3,090,631,200   \n",
       "其中：应收票据(元)      637,529,200  1,007,950,700  1,268,146,300    986,693,100   \n",
       "合同资产(元)                   0              0              0              0   \n",
       "应收款项融资                    0              0              0    408,972,104   \n",
       "应收账款(元)         331,595,200    371,167,700    446,773,100    725,630,900   \n",
       "预付款项(元)          32,828,400     58,386,100     59,485,900     50,113,500   \n",
       "应收与预付合计       1,001,952,800  1,437,504,500  1,774,405,300  2,171,409,604   \n",
       "应付预收减应收预付的差额    749,230,100    708,373,400  1,002,661,300    919,221,596   \n",
       "\n",
       "                       2020           2021  \n",
       "其中：应付票据(元)      751,802,500    962,665,500  \n",
       "应付账款(元)       1,723,832,200  2,181,900,300  \n",
       "预收款项(元)                   0              0  \n",
       "合同负债(元)         949,591,228  1,026,782,402  \n",
       "应付与预收合计       3,425,225,928  4,171,348,202  \n",
       "其中：应收票据(元)    1,832,701,400  1,330,193,900  \n",
       "合同资产(元)                   0              0  \n",
       "应收款项融资                    0              0  \n",
       "应收账款(元)       1,008,235,900  1,597,692,900  \n",
       "预付款项(元)          69,889,400    131,162,000  \n",
       "应收与预付合计       2,910,826,700  3,059,048,800  \n",
       "应付预收减应收预付的差额    514,399,228  1,112,299,402  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t4 = analysis.init_table('t4')\n",
    "t4['应付与预收合计'] = t4.T[:4].sum()\n",
    "t4['应收与预付合计'] = t4.T[5:10].sum()\n",
    "t4['应付预收减应收预付的差额'] = t4['应付与预收合计'] - t4['应收与预付合计']\n",
    "\n",
    "analysis.format_show_table('t4')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37ac91ac8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t4')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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v/8+EJgWiouLY9CgQSQmJjJy5MhC15U5L79v3z5WrVrFxo0b+d3vfsfs2bNZt24dEyZMoEKFClSocPyUzR//+EeuuOIKJk+ezCOPPELPnj3p2LEjAK1ateJ//ud/AFi/fj1AKCneFVdcAcD111/P9ddfT+/evfntb3/LpEmTePPNN5k+fToAN998c7Y2bt68mRYtWoSex8fHExsby9atW4mLiyM5OZkKFSpQu3ZtGjVqxOzZswHo0KEDjz/+uAK/SASFNfC7e0Lw9wKgeCflS9iCBQv45JNPgMDFZR06dAjtyxqA85KYmEizZs3YsGEDv/jFL05a7qeffmLr1q38+c9/ZtasWUycOJF77rmHZcuWMWjQoBPKHz58mI4dO7J+/XoSExP56quvuPfee0P7u3btSv369alYsWK24zIyMrj44otDz1esWMGHH35I3759+frrr+nWrRt79uwB4KWXXmLAgAGMGDEi1zZnvjfXXnstEydO5L333qNKlSqhb0WZqlatypEjR3J5BREJlzJz5W5pkJGREQrqY8aMCQWx5557DoBjx44BkJ6eTrdu3YDjUz2vvPIKKSkpnH766aHXa9SoERs3buScc87Js97t27czcuRIVqxYwdq1a7nhhhv46KOP+Oqrr+jcuTMAR44cYfv27SxevJhq1aoxatQo3n77bV588UUOHTpErVq1APjrX//KwoULQ1MtGRmBu/llfgi8//77rFu3jjp16jBr1iw6d+7M8OHDWbFiBa+99hqzZs0CTpzjr1q1KsnJyaHzEJl27NhBvXr1Ttq3rVu30rhx4zz7LyLFS4G/EKZOncqsWbMwM9w9FAQz56xnzJjBb3/7W6ZMmUK7du2A7FM9KSkpbNq0qdD17t69m8aNGzNq1CimTJnC008/zYIFC+jevXuoTGpqKo0aNaJu3bqh1Td9+vRh+PDhTJgwIVTujjvu4I477uCVV17huuuuY+bMmQD86le/YuXKlfTp0wcIfJAMHjyYPn36sG3bNurUqcO5554bCtJ33303O3bsCL3u1VdfzezZsxkyZEho24YNG6hVq9YJJ27T0tJC+XdmzpxJv379Cv2eiEjRldnAXxJLxIYOHcrQoUN5+umn2bdvH+PHjwfguuuuo0ePHtx2220nHHPs2LHQuvgqVarQunXr0L4dO3bQokWLPKd6Dh06REpKCu5O8+bNefrppwF45ZVXmDhxYuhbyLXXXsu1117LunXr2LlzJykpKdx5551ceeWVTJ48mYsuuojWrVuTlJTEbbfdRps2bTh69Cjbtm2jadOmHD16lAULFvDUU0/x1ltvERcXBwSW5C5btozLL7+cXbt28eabbwJw0003ZWtn79696d+/P1dddRX16tVj586dDBw4kMmTJwOB6a99+/YB8Mgjj9CyZUvat2/Pjh07sr0nIhJ+ZSZXT2mQkpJCv379+OGHH3jyySdD26dNm8YXX3xxwvw1QHJycmhJZE5NmzbF3fOc358+fTo9e/bklltuoVOnTqGfXbt2cfPNN9OxY0c2btwYKp+ZxbRTp0507NiRadOm8c9//pOxY8fy+uuv07BhQ5555hmeeOIJ9u/fz+7du0PB+sUXX+Tll18OBf3Ro0fTo0cPVq5cSc+ePfn4449JSEggISGBFStWZGunmTFx4kTef/99du3aRZcuXRg3blzom09CQgKLFi2iQ4cObNy4kV69evHBBx9k+zYiIpFhp3KVZrjEx8d7zlsvbty4MduqkZKSmJjIye4H/N///pf69esXa31HjhwhJSWFM844o1DHpaenExNTvF/osk7RFGfZvJSWv7vkTRdwlQ5m9om7x+dXrsxO9ZSUvG4CX9xBHwInTatWrVro44o76AOFCuTKoS9SemmqR0Qkyijwi4hEGQX+U1DQTJnFdTMRdyctLS3btoyMjNBafBGRgii7c/yP1Szm1/uh0IfklSkzvyyZqamppKSksHr1alauXMmoUaOIjY3lH//4B5deeinx8YHzM0uWLGHhwoVUrFiRNm3aMH36dCpVqsTy5ctDuXPuuusuPv/8c1auXBm6xuDiiy9m7NixrFmzhgULFvD444+H6p46dSo33ngjVapUYfHixXz77bdFSiUhImVT2Q38JSS/TJnTpk1j165d+WbJ3Lx5M9OnT2fPnj1s3ryZZ599loSEBKZPn84FF1zAqlWraNiwIa1atWLt2rUAdOvWjcGDB5Oamkrv3r2ZO3duqF3du3fPdvFUZvtiYmJOSM1Qr149BgwYwIQJE3jooYeoVKkSr732GseOHaNmzZqhPEMiUj4p8BdSfpkyly1bVqAsmffeey+rVq0iLS2N77//nlWrVnHRRRdx9tlns3v3bpYsWcKll17KrbfeGrpatkGDBtx3332s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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bed1f60>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t4', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 应收账款+合同资产占总资产的比例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>合同资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收账款(元)</th>\n",
       "      <td>331,595,200</td>\n",
       "      <td>371,167,700</td>\n",
       "      <td>446,773,100</td>\n",
       "      <td>725,630,900</td>\n",
       "      <td>1,008,235,900</td>\n",
       "      <td>1,597,692,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收账款+合同资产</th>\n",
       "      <td>331,595,200</td>\n",
       "      <td>371,167,700</td>\n",
       "      <td>446,773,100</td>\n",
       "      <td>725,630,900</td>\n",
       "      <td>1,008,235,900</td>\n",
       "      <td>1,597,692,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(应收账款+合同资产)占总资产的比率</th>\n",
       "      <td>5.17%</td>\n",
       "      <td>4.68%</td>\n",
       "      <td>4.73%</td>\n",
       "      <td>6.81%</td>\n",
       "      <td>8.09%</td>\n",
       "      <td>11.49%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             2016           2017           2018  \\\n",
       "合同资产(元)                         0              0              0   \n",
       "应收账款(元)               331,595,200    371,167,700    446,773,100   \n",
       "应收账款+合同资产             331,595,200    371,167,700    446,773,100   \n",
       "资产合计(元)             6,415,202,500  7,926,615,200  9,455,361,500   \n",
       "(应收账款+合同资产)占总资产的比率          5.17%          4.68%          4.73%   \n",
       "\n",
       "                              2019            2020            2021  \n",
       "合同资产(元)                          0               0               0  \n",
       "应收账款(元)                725,630,900   1,008,235,900   1,597,692,900  \n",
       "应收账款+合同资产              725,630,900   1,008,235,900   1,597,692,900  \n",
       "资产合计(元)             10,651,922,600  12,457,568,300  13,906,035,200  \n",
       "(应收账款+合同资产)占总资产的比率           6.81%           8.09%          11.49%  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t5 = analysis.init_table('t5')\n",
    "t5['应收账款+合同资产'] = t5.T[:2].sum()\n",
    "t5['(应收账款+合同资产)占总资产的比率'] = t5['应收账款+合同资产'] / t5['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c06f978>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 固定资产占总资产的比重"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>固定资产合计(元)</th>\n",
       "      <td>852,193,400</td>\n",
       "      <td>828,422,300</td>\n",
       "      <td>842,877,500</td>\n",
       "      <td>826,234,900</td>\n",
       "      <td>824,978,400</td>\n",
       "      <td>1,179,306,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>在建工程合计(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>21,085,400</td>\n",
       "      <td>184,440,700</td>\n",
       "      <td>272,211,700</td>\n",
       "      <td>463,424,600</td>\n",
       "      <td>454,643,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>固定资产+在建工程</th>\n",
       "      <td>852,193,400</td>\n",
       "      <td>849,507,700</td>\n",
       "      <td>1,027,318,200</td>\n",
       "      <td>1,098,446,600</td>\n",
       "      <td>1,288,403,000</td>\n",
       "      <td>1,633,949,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>固定型资产占总资产的比率</th>\n",
       "      <td>13.28%</td>\n",
       "      <td>10.72%</td>\n",
       "      <td>10.86%</td>\n",
       "      <td>10.31%</td>\n",
       "      <td>10.34%</td>\n",
       "      <td>11.75%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       2016           2017           2018            2019  \\\n",
       "固定资产合计(元)       852,193,400    828,422,300    842,877,500     826,234,900   \n",
       "在建工程合计(元)                 0     21,085,400    184,440,700     272,211,700   \n",
       "固定资产+在建工程       852,193,400    849,507,700  1,027,318,200   1,098,446,600   \n",
       "资产合计(元)       6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "固定型资产占总资产的比率         13.28%         10.72%         10.86%          10.31%   \n",
       "\n",
       "                        2020            2021  \n",
       "固定资产合计(元)        824,978,400   1,179,306,000  \n",
       "在建工程合计(元)        463,424,600     454,643,400  \n",
       "固定资产+在建工程      1,288,403,000   1,633,949,400  \n",
       "资产合计(元)       12,457,568,300  13,906,035,200  \n",
       "固定型资产占总资产的比率          10.34%          11.75%  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t6 = analysis.init_table('t6')\n",
    "t6['固定资产+在建工程'] = t6.T[:2].sum()\n",
    "t6['固定型资产占总资产的比率'] = t6['固定资产+在建工程'] / t6['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t6')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEGCAYAAABsLkJ6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGRVJREFUeJzt3XucXWV97/HPl2SAGC6BMsSDBgIICEoInAFpyyVBQlBUKJwWT1QulsZaAu3RgyCNxdJYQAo9p14okVhjCgj4Ai8FykXMBcptoOFqoESBoKUO1yCXhCS//rGeDdudPTN7r71n9iTP9/167VfW5VlrPc/MZH3XetZlKyIwM7P8bNLpCpiZWWc4AMzMMuUAMDPLlAPAzCxTDgAzs0w5AMw2IpJUZ9roTtTFRj4HgA0ZSd+VtMcA899Ru3OStGnV8ARJvVXjH5C0XdX4NElzmqjPHpKmN1G+V9KUBsptWjPe3U+54aj/gZJuqZm2SNJ+DW5jtaTNGyx7jqRPNlLWRiYHgA1I0guSlg3wWS7pvn4WvxX48ACrPxd4RNLTkm6X9AZwuaRDJF0OrEqfionA7ZKOkbQV8P+BE9OOuvI5u6b+1TvnXYELquZJ0mYD1O/dwIBHz5JGAXdLmlQ1+XpJ0+oUH4767w3cUVVmHLAd8O916v4tSSfXTF4NvNlPW+dJWixpoaSFwAnAhZVxSUskXVdvWRuZfGpog3kzIt5bGZH0MaA7Iual8YnA99LwlcD+wEvVK5D0iTQ4BngxIg4CiIj/m8LjPcB5wBMR8YeSDqTYCa0D3npSMSKuknQ7sD3wDeAfgUXAqRExU9LdwE1V290UuE/S6qr1rElnFZukac8BAx1Vf1vSa9XNAb4dERekOq2V9EXgNOBPJL0HUETUHoUPef0l/Zji5/+6pGOAOcBWwDjgP1Lv0DsjYou0rno7+zURsTatbxfgf0bENWneV4DXIuJZSbsDlwHTgE0i4nVJ7wPWDvCztBHGAWCDeVPSjsCNFDuL3wG6JJ1GsROaBaxJZV8GTouIG+utSNL7ga+m4YkUZwc9wNbAp4EtJH0WWDFAfTYHPgT8cUSsTl0oH0pdTQdHxOpKwTS8t6TJwNeAwyLizXTU/ihwfEQsHaT9n46IW6vasAkwqmp8ITAWWJV27qThx4EfRsQZw1j/XYH3RsRLab1bAicCh0TEY6m+y6vK130NgKSxwOnAqWm7Fb8PfF7SscD/A84GZgIHSZoNXE0ROsvqrddGHgeANWIFsG/aYZ0CvDsiviypC5hQKRQRf5q6Nx4BXqf4+9oMeBXoAu6PiEqX0DqK7p13A48Db1DskFal5db720xH1z8A/gzYXNKpFEe/HwJ+CFwl6QbgoYh466g9IpZKWgF8ALgdOB5YlqaPAtZFg+9EiYh1qe4Vq4GTIuLJmrqeBOw2zPWvrhfAocXixc4/qS3zD5IuALagCHOAB4ErgUkR8UJVPRakYDsY2AG4COhL9XkvMDMi7sA2GL4GYIOKwuo60yvdNNXTfhAR74uIHuAvgMcioici9omIk6vKPQ38CNiT4qzge8AbEfFt4C7gUoq/z3Xw1pH3lcBZFIFxC8UR7uER8TDFzm4VcAlpxytpx3RRcxmwH3BZGv4rYI80vAzYpYUfz6bADZKWVn8orm9UX9DuRP3vAWZLmlc1rTYATo+Id0XE1hGxIE2bFBGzq3f+qT5bUuzsH6M4A1hKcQbwU4ozm/Ml7d3ID81GBp8BWEPSKf5M4IU0/mngKoq+7Opy+wAXA4fXWUcXRR9zSPodih3UFRHxtIo7T34iaXTqY36NYif5MyiOvCUdDPwLxVnH68CxwLF6+87HHSJi++pNAo9GxOQG2/hJYC7wdJr0EvD1qvW/h2Ln+GhlQkRMqVp+74h4qN66h6P+yRJJa4F3AmdFxO2S/k7S9Ii4abCFU11frZ2WzjSWAN+kCKjPA68B3wF+AfwBcAZwCvDnTdTXOsgBYI1aDZwbEZdB/S6O5Gjg4bSTBzhUb9/K2QV8EHguIp5P3Un/JmmTiHgj9afPodhxrZR0BnB3ZcWpzCpS37ekE9O6rk91+mVNXbopLpI26g3gnuqdejVJz1Ls9Crj0yiOqHehOGs5X9I1EfEdSbtSHO1/JnUbDUf9obiOULkGUHERcIKkRcBv+mnbKIqLxf0RMDUiXkzjC9I2nqU4W1uXLojfl0J8Tb9rshHDAWCDqRyevgjMkjSrat786jLp4uFM4EFJY9K8RRFxTD/rfgi4F1gtaR2wLUXfeOXsYTPg48AjVctU/81+FviCpHdFxC9Z/6JmD9DfLart8AmKs6APAMuBP6G4M+Y7wM+Bd1B06XymaplO1P86iu62ccDK2pkq7uw6D7iwzrw/ojhrmQaclQKsYmeKA4P/lcpCcYH8G6Q7w2xkcwDYYLoAIuJbwLdqZ6a7eSp/RxcAP6Houvk34IY65UdR3Ca5JiJ+Dby/at4nKe5imT1Afb4AvCjpGxQ73aXAXZKeA86WtFlErFLxgNlpQO197oM5IPWt11P9ENdYYCrFzv2jABHxK95+7uFairto/lbSuIio3Bo7lPXv4re7gL6Upq+j+B0dCTxRVX53YAbQC5wSEXdKukjSO1M33K7AP1N0Tf2Q4kL1WypnABHx9SbqaCOIA8AGM3qAHSIUO52XJM2g6Pc/MHVB9AKfo7iN8RWKI8UuimcBdlJxa+l84JWqdW0FbCrpyKppY4ALIuK7kv6W4g6UMRT30M9Ld7/sJekg4C8pjkY/BnyK4k6Ze5po62YM3gU0No2OBj6Xdtb/QfG8wDNp3jsodoy/Ak6qWn6o638hsCDVaR+K6wwA4ymOyu+i6Luv+B5wcUT8a9W0S4Hb0kXrdcCXIqK/bqiu9LENlBq8+80yJWn7dKTeSNnqI93aeV0UO01V3+LYZF32AF5JO9b+yoxJDyWNAsZERN0+707Y0OtvGx8HgJlZpvwcgJlZphwAZmaZGtEXgbfbbruYOHFip6thZrZBue+++56LiLqvJa82ogNg4sSJ9Pb2Dl7QzMzeIumpRsq5C8jMLFMOADOzTDkAzMwy5QAwM8tUqQCQ9D8kHZ7eD16qnKQJ9ZYxM7Ph0VAASBovaUka3p3iDYi/DyzSb39pdfUy65WTdJ6km1S8NnBqW1pgZmalDHobqKRtKF7aVXkJ1iTg5IhYnr79Z2eKbwiqVa9cN3A/sC9vf+mGmZl1QCNnAGspvgZuJUBEfB94StJRwDb89utl39JPOVGEziHAopZrb2ZmpQ0aABGxMiJerpm8BfBHwFOs/yUWA5V7GNiJ4jWziyXtWabSZmbWulJPAqdX/p4oaQGwP1Vf2zdQuYj4e0lPULyf/FrgKNJ3vlZImknxrVLsuOOOZaoHwMSzri+9bBlPnn/UsG7PzKxVTd8FJOkSSYek0XEUX5zdTLlxFF8Csqre9iNibkT0RERPd/egr7IwM7OSypwBfJXiC6EDuDkiHpN0GLBXzVfD1Su3O/AARQDcQNW3JZmZ2fBqOAAqX5MXEb8ADqqZdxtwW820euUerxp1/7+ZWQf5SWAzs0w5AMzMMuUAMDPLlAPAzCxTDgAzs0w5AMzMMuUAMDPLlAPAzCxTDgAzs0w5AMzMMuUAMDPLlAPAzCxTDgAzs0w5AMzMMuUAMDPLlAPAzCxTDgAzs0w5AMzMMuUAMDPLlAPAzCxTDX8pvJlZziaedf2wbu/J848a8m107AxA0oRObdvMzBoMAEnjJS2pGt9T0g8bXPYISf+UhudLmp9mTWm2smZm1j6DBoCkbYD5wNg0vitwIbB1A8tuDlwEKE16E1gj6UDg7pJ1NjOzNmjkDGAtcDywMo2/AhzX4PrPBq6oGlfa5m4R8XijlTQzs/YbNAAiYmVEvFw1/uuIWDXYcpJ2ByYBV1ZNfp4iBLaXtETS9nWWmympV1JvX19fQ40wM7PmDeVF4AuBv6ieEBFfAG4GuoBrgUNqF4qIuRHRExE93d3dQ1g9M7O8DcltoJJ2AHYHvgNsDkyUNAu4BIj0WYWfQzAz65i2BICkGcDqiPg+QET8CtgzzZsIfDkivi7pUOBW4D3At4Ej27F9MzNrXsMBEBFT+huPiCtqy1fNexI4KQ0vSpP7SAFhZmad4S4YM7NMOQDMzDLlADAzy5RfBmcjzsb40i2zkchnAGZmmXIAmJllyl1AG6jh7CZxF4nZxslnAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmfJdQGbDaGN/yM13p21YfAZgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllqiMBIGlLSVt3YttmZlZoOgAk7SzpeklLJF3UT5nRkp6WtDB99pZ0tKRHJE0APgy83mrlzcysvDJnABcAfxMRBwPvljSlTplJwJURMSV9HgKmA2cCvwd0RcTqspU2M7PWlQmA3YH70/CvgXpdOQcCH5F0j6R5kkYD64AxwEHAojKVNTOz9ikTAN8HzpH0UeBI4Cd1ytwLHB4RBwBdFF0+VwOnAz8HLpI0o97KJc2U1Cupt6+vr0T1zMysEU0HQETMAW4ETgHmR8Rv6hR7MCL+Mw33ArtFxGJgBrCCIgQ+2M/650ZET0T0dHd3N1s9MzNrUNm7gJYCOwIX9zN/gaR9JI0CjgEeSNMPBW4H1gBRcttmZtYGZQPgDODiiHhN0l6S5tTMPxdYQBEUd0bErZI2AV4D/oviQvBDZSttZmatK/WFMBFxTtXwo8DsmvkPU9wJVD1tHXBtGj2szHbNzKx9/CSwmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWqY4FgKTxkro6tX0zs9yVCgBJn5W0MH2WSrp0gLLflPTRNDxL0r2SxgLTI+LNkvU2M7MWlQqAiLgkIqZExBRgCfCteuUkHQy8MyJ+nCZNBi4D9gdeLbNtMzNrj5a6gCS9CxgfEb115nVRBMOTko6uTAa6gCOAG1vZtpmZtabVawCnApf0M+8E4FHgq8ABkk4DbgY+AjwD/EjS1NqFJM2U1Cupt6+vr8XqmZlZf0oHgKRNgKnAwn6K7AvMjYhngX8GpkbEVcCXgZeA64HjaheKiLkR0RMRPd3d3WWrZ2Zmg2jlDOBg4O6IiH7mPwHskoZ7gKfS8G7AcmBVi9s3M7MWtLIDng4sBpC0l6Q5NfPnAVMlLQb+DPg7SVsBz1J0Dc0Ebm1h+2Zm1oLRZReMiLOrhh8FZtfMfwX4wzqL3pL+nVx222Zm1jp3wZiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZaojASBpS0lbd2LbZmZWaDoAJI2W9LSkhemzd50yf1A1/y5JN0k6WtIjkiYAHwZeb0cDzMysnNEllpkEXBkRZ/ZXICKuA64DkHQGsByYDpwJ/B7QFRGrS2zbzMzapEwX0IHARyTdI2mepH5DRNIY4IiIuBZYB4wBDgIWlaqtmZm1TZkAuBc4PCIOALoounP68yngijR8NXA68HPgIkkz6i0gaaakXkm9fX19JapnZmaNKBMAD0bEf6bhXmC3Acr+b+AagIhYDMwAVlCEwAfrLRARcyOiJyJ6uru7S1TPzMwaUSYAFkjaR9Io4BjggXqFJE0EXo6I31RNPhS4HVgDRIltm5lZm5QJgHOBBcBS4E7gfkmX1Sl3BLC4MiJpE+A14L8oLgQ/VGLbZmbWJk3fBRQRD1PcCVTtlDrl5taMrwOuTaOHNbtdMzNrLz8JbGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZapUAEjaVtI0SduVXH68pK4yy5qZWXs0HQCStgH+BTgA+Kmk7nplJN0gqVfSpWnaLEn3ShoLTI+IN1utvJmZlVfmDGAS8LmI+ApwE7BfnTKfAi6PiB5gS0k9wGTgMmB/4NWS9TUzszZpOgAiYlFE3CXpEIqzgDvrFHseeL+kccAEYAUgoAs4ArixfJXNzKwdyl4DEHA88CJQryvndmAn4HTgZ8ALwM3AR4BngB9Jmlpm22Zm1h6lAiAKpwIPAh+rU+Qc4E8j4lxgGXByRFwFfBl4CbgeOK7euiXNTNcOevv6+spUz8zMGlDmIvCZkk5Io+Modui1tgH2ljQK+AAQafpuwHJgVX/bjoi5EdETET3d3etdXzYzszYpcwYwF/iUpMXAKOAZSXNqypyXyr0MbAtcKWkr4FngUWAmcGvpWpuZWctGN7tARLwITKuZPLumzD3A++osfkv6d3Kz2zUzs/byk8BmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZpnqWABImtCpbZuZWQsBIGm8pCUDzN9P0q2S7pD0+TTtPEk3SRIwtey2zcysdaPLLCRpG2A+MHaAYl8DPg48A9wh6VqgG7gf2Bd4usy2zcysPcqeAawFjgdWDlBm24hYEREBPA9sBYgidA4BFpXctpmZtUGpAIiIlRHx8iDF7pA0S9IMYCLwIPAwsBOwDlgsac/ahSTNlNQrqbevr69M9czMrAFDeRH4M8AyYBZwQRT+HlgAvAZcCxxVu1BEzI2Inojo6e7uHsLqmZnlbcgCICLWAo+l0curZo0DXgFWDeX2zcxsYKUuAteSdBiwV0R8vWbWHODMdB0ASbsDD1AEwA3ASe3YvpmZNa+lAIiIKenf24Db6sw/sWb88arR9fr/zcxs+LgLxswsUw4AM7NMOQDMzDLlADAzy5QDwMwsUw4AM7NMOQDMzDLlADAzy5QDwMwsUw4AM7NMOQDMzDLlADAzy5QDwMwsUw4AM7NMOQDMzDLlADAzy5QDwMwsUw4AM7NMOQDMzDLlADAzy5QDwMwsUx0JAEnjJXV1YttmZlYoFQCS5km6U9LsRstImiXpXkljgekR8WbJOpuZWRs0HQCSjgVGRcTvArtI2q3BMpOBy4D9gVdbq7aZmbWqzBnAFODqNHwzcFCDZQR0AUcAN5bYrpmZtZEiorkFpHnAP0TEA5KOAPaLiPMHKwP8AjgZ+BFwLPCViPhpnfXPBGam0T2Ax5psU6u2A54b5m0Ol425bbBxt89t23B1on07RUT3YIVGl1jxb4AxaXgL6p9FrFcmIq6S9BSwC3A9cBywXgBExFxgbol6tYWk3ojo6dT2h9LG3DbYuNvntm24RnL7ynQB3cfb3T77AE82UWY3YDmwquS2zcysTcqcAfwAWCJpB+BDwMclzYmI2QOUOVDSVsCzwKPApcC5rVXdzMxa0XQARMRKSVOAacBXI+JZ4IFByrycZt2S/p1cusZDr2PdT8NgY24bbNztc9s2XCO2fU1fBDYzs42D++HNzDLlADAzy1RWASBpa0k3SrpZ0nWSNq33Wov0rqIldZb/saQRef2ibNsk/bWkhemzTNIXO9OC/rXQtl0k/UTSUklf6kztB9dC+/aTdKukOyR9vjO1H1gjbatXJk0f9JUzndRi2+ruY4ZbVgEAfAK4OCKOoLgj6ePUvLJC0jbAfGBs9YKSPgEsj4ilw13pBpVqW0ScExFTImIK8DDw3eGv+qDK/t5mAX8VEZOB6ZIGfTCmQ8q272sUD1ceBBwnaedhrncjBm1bnTJHNvLKmRGgbNvq7mM6IasAiIhvRkTlTqRu4JOs/8qKtcDxwMrKcpK2BS4CXpQ0dfhq3LiybauQtD/wTET8chiq25QW2vY8MEnSeGAz4KXhqXFzWmjfthGxIoo7OZ4HthqmKjeskbbVKfNrGnvlTEe10LZ+/x8Ot6wCoELS7wLbACuAyg7vBWB8RKysum214v8A11A8v3CCpI8NW2WbVKJtFX9OcUQ5YpVo278CBwKnA7cBa4arrmWUaN8dKt6yOwOYCDw4bJVt0kBtqy0TEXdRHB3XLTfSNNu2Qf4fDqvsAiAdzX8N+DSNvdYCYF/gG+mZh6spjk5GnJJtQ9I4YPuIWD7klSypZNvOAk6KiL9M5acNdT3LKtm+zwDLKLq6LogRek93I22rKUN/5Uaakm0bMUbkD3WopAsw1wBfjIinaOy1FgBPULzDCKAHeGoIq1lKC20DOBq4YUgr2IIW2rYzMEHS5hQvJBypO8hS7YuItbz9ssTLh7iapTTStjplqFdu2CrdoBbaNnJERDYf4LPAi8DC9DmR4inmi4GfAVtXlV1YNbwDxQ7yDoqnmbfsdFva1bY0fgXFW1073o42/96OAn4OvAJcSXGBruPtafPvbj5wcKfb0Erb6pQ5nuJ6Rt2fwUj5lG1bf7/LTnyyfxI4XZGfBiyOootno+G2bbg25vY12rYN8WewodU5+wAwM8tVVtcAzMzsbQ4AM7NMOQDMzDLlADAzy5QDwMwsU/8N3YCLHIjWrBAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bf66710>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t6')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 投资类资产占比分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>以公允价值计量且其变动计入当期损益的金融资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>债权投资(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>可供出售金融资产(元)</th>\n",
       "      <td>27,734,000</td>\n",
       "      <td>147,734,000</td>\n",
       "      <td>119,948,500</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他权益工具投资(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>102,116,000</td>\n",
       "      <td>102,116,000</td>\n",
       "      <td>2,116,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>持有至到期投资(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他非流动金融资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>长期股权投资(元)</th>\n",
       "      <td>817,900</td>\n",
       "      <td>3,815,200</td>\n",
       "      <td>2,617,900</td>\n",
       "      <td>4,168,300</td>\n",
       "      <td>3,452,800</td>\n",
       "      <td>5,405,100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>投资性房地产(元)</th>\n",
       "      <td>139,500</td>\n",
       "      <td>130,600</td>\n",
       "      <td>121,600</td>\n",
       "      <td>112,600</td>\n",
       "      <td>2,591,000</td>\n",
       "      <td>11,085,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>投资类资产合计</th>\n",
       "      <td>28,691,400</td>\n",
       "      <td>151,679,800</td>\n",
       "      <td>122,688,000</td>\n",
       "      <td>106,396,900</td>\n",
       "      <td>108,159,800</td>\n",
       "      <td>18,607,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>投资类资产占总资产的比率</th>\n",
       "      <td>0.45%</td>\n",
       "      <td>1.91%</td>\n",
       "      <td>1.30%</td>\n",
       "      <td>1.00%</td>\n",
       "      <td>0.87%</td>\n",
       "      <td>0.13%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                    2016           2017           2018  \\\n",
       "以公允价值计量且其变动计入当期损益的金融资产(元)              0              0              0   \n",
       "债权投资(元)                                0              0              0   \n",
       "可供出售金融资产(元)                   27,734,000    147,734,000    119,948,500   \n",
       "其他权益工具投资(元)                            0              0              0   \n",
       "持有至到期投资(元)                             0              0              0   \n",
       "其他非流动金融资产(元)                           0              0              0   \n",
       "长期股权投资(元)                        817,900      3,815,200      2,617,900   \n",
       "投资性房地产(元)                        139,500        130,600        121,600   \n",
       "投资类资产合计                       28,691,400    151,679,800    122,688,000   \n",
       "资产合计(元)                    6,415,202,500  7,926,615,200  9,455,361,500   \n",
       "投资类资产占总资产的比率                       0.45%          1.91%          1.30%   \n",
       "\n",
       "                                     2019            2020            2021  \n",
       "以公允价值计量且其变动计入当期损益的金融资产(元)               0               0               0  \n",
       "债权投资(元)                                 0               0               0  \n",
       "可供出售金融资产(元)                             0               0               0  \n",
       "其他权益工具投资(元)                   102,116,000     102,116,000       2,116,000  \n",
       "持有至到期投资(元)                              0               0               0  \n",
       "其他非流动金融资产(元)                            0               0               0  \n",
       "长期股权投资(元)                       4,168,300       3,452,800       5,405,100  \n",
       "投资性房地产(元)                         112,600       2,591,000      11,085,900  \n",
       "投资类资产合计                       106,396,900     108,159,800      18,607,000  \n",
       "资产合计(元)                    10,651,922,600  12,457,568,300  13,906,035,200  \n",
       "投资类资产占总资产的比率                        1.00%           0.87%           0.13%  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t7 = analysis.init_table('t7')\n",
    "t7['投资类资产合计'] = t7.T[:8].sum()\n",
    "t7['投资类资产占总资产的比率'] = t7['投资类资产合计'] / t7['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t7')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c026cc0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t7')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>存货(元)</th>\n",
       "      <td>914,493,000</td>\n",
       "      <td>1,112,902,200</td>\n",
       "      <td>1,347,112,700</td>\n",
       "      <td>1,339,176,900</td>\n",
       "      <td>1,386,089,300</td>\n",
       "      <td>1,772,231,600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>存货占总资产的比率</th>\n",
       "      <td>14.26%</td>\n",
       "      <td>14.04%</td>\n",
       "      <td>14.25%</td>\n",
       "      <td>12.57%</td>\n",
       "      <td>11.13%</td>\n",
       "      <td>12.74%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    2016           2017           2018            2019  \\\n",
       "存货(元)        914,493,000  1,112,902,200  1,347,112,700   1,339,176,900   \n",
       "资产合计(元)    6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "存货占总资产的比率         14.26%         14.04%         14.25%          12.57%   \n",
       "\n",
       "                     2020            2021  \n",
       "存货(元)       1,386,089,300   1,772,231,600  \n",
       "资产合计(元)    12,457,568,300  13,906,035,200  \n",
       "存货占总资产的比率          11.13%          12.74%  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t8 = analysis.init_table('t8')\n",
    "t8['存货占总资产的比率'] = t8['存货(元)'] / t8[ '资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEGCAYAAABsLkJ6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xt4FdXZ9/HvDQnIUVAiiAoI1aoICkQrijZWRQRRntqHMyqK0Ap4qFZRtFqkIopYRC2ieLaILYdKVaAeUEAeK6LyWlEUOYoIyElCIKf7/WMmm52QkGQnJMD8PteVi5k9a2bW2iHrnllrzRpzd0REJHqqVHYGRESkcigAiIhElAKAiEhEKQCIiESUAoCISEQpAIiIRJQCgEgCzKyGmSVXdj5EykIBQCqcmdU0s4fMrF4x6S40swvC5f81szPD5SQzq1rEPoeZ2S9KmZ+mZjaoBOneMrOW4WpfYFYpzjHXzH5eTJp/mVm7uPWWZvanItJ+Fua7lpkda2aNzOxxM7slXG5iZklh2qSS5lOiRf8xpEKYWTUgx91zgC5AW3ffGre9CpDs7rvD9eOAZ4GhYZLOwDwzA5gI/AV4Lkx7A3Ah0ByoDiw1s9+4e2YJs5cJPGxmU9x9axhckt19l5nVAVq7+wJgF7A73OfXwF+LKGsG8FW4epK7Hxa/r5ldEx7/STM7BhgHZAOnASPNbAdBcKkDVCsiz9vDfJ8MXAdkAWcCPweOD7+H4cAGYJaZPe7u083sKeACYHPcsX4OXO7u75Tw+5JDhOlJYKkIZjYJaEdQ0Z0KfBku56kKbHT3jmbWCHgLSHL3k8zsSOBFgspuKfCAu78fd+zmBBczw4AX3H2uBZHiG+CnMFld4GR3321mzYDPgP9XRHaTAHf39mZ2MjDJ3c82s38BN4X5/gr4L5AL1AIcmOjufzGzr4GOQG1gqrufaGazgN8CxxAErgvdfZWZVQeaAjuBJ4GxwCogA3gVWBGWA2COu39gZk8SVNqfA28CfyYICE3D/TYB69y9e/j9nAP8EzgD+APwgbu/FPf9zQXudvd5RXwfcojSHYBUCHe/FsDMugPXuHunwtKFlfMs4DFgiJn1AW4EDgPGuvv4MN21wHvAcmC1u2ebWWa4Le//dY67nx5+tpbgKjnPZ+5+Xtx5k909fnueLIIr7Xi3ASPc/c/hnctydz8+bnsu8Eugcbic5xzgTqCLu68Kv5fdZjYaSAGaAPcDyQQVdT3glXDfe4G3zSwFOAXIAVYC5xPcJWUBg4C1wOtAFTP7mbt/4+4LzGx4uE98fuLpSjCCFACkwphZD4LmjjPMbCmQHrf5GOCv7j7CzLoS3BHc5O4vAy+b2SjgqrAdvSrwP8B5QCNgupllA20IKtmdBFfS+So7d49fjy2bWT+gBUEli5k9A0xz938VUoyTCJpQcs1sMkFwWFcgTV5lmhseL+/vLAO4HPg27EDOCfN0P+FdR5iuOvAr4NZw/X2gP7AQOBdYArQEXgJ+AXQnqNy3ETQb9STo35tPePfg7k+GeSm07wT1B0aSAoBUiPDKdSTwvLuvIWjOwczqA+MJmlT+CuDuX5tZQ2BC3CHuBl5mz//Ze939h3D5rDD9auBBgiaO5UV1oBJUdplm9ggwPfz5NFzfAXQFRhSx708ElXE3gqv8TcDiQo6fRBAADJgBnE1whd+MoFJOIqi4Pydozqkbl762u98Tfj8bgJ+5+xXhejIwmyAA4O7/NLPeBAE03uPu/mreipnVBo4mCFYjzezBsCxHEtxJ7CqivHIIUwCQ/S7s6JwNfA1khe3eWeHV753At+7+RzNLNrOqYUdxR2C4mfUtcLgjgI/d/X8KfD6CoPI+Gbg9b8RQEeoT3H38naCpKRWYQtDU9C6w2N1XhmmrAdXNrANBJfudu39jZg78CfiWoB0+X5EJKtatQBV3vzSuD2Ai0NPdN4ffTTv2NOHkSTKzVcDUMK91CNr4cfc54X6/j0t/GkHzT064/mugQYE83QKkuPsQM9tNcOfyOdDX3a/ex3clhzAFAKkIPxGMSEkGTicY3XOymeUQtJNnmllngsr2doIKdTcw2917mtm5QKa7f2hmVwOXxB/czC4kqASnAnMIOl877yM/xwKrwg7VNQTNSU8BbYF+Yf7ypALHAT2IayZx94XhSKUWwA0Fjp8MNCToZE4KO6TzfBDm/+VwfUn43XwPPAzcE+Z/AUHzznaCCn38PsqTN4Ior1nrWILABICZNQYGEnz3EPQh/HMfx5OIULuf7Hfuvt3d/xm33tvd27h7KsEV8Uh3T3X31u6edzVdlT2dr38GjgqbiyBuaGTYJ/A0cCV7KsCb3P0fwNFmtsjMFgFHxWWpNbAsXL4fOD684p8DXETQJJTnZaCpuw8F1sSdt0mYj11AzQJF7kzQVr8L+LnnH2r3D+DGuLZ4Bx4iCBgQXO0/Hf57G9AHuDKsxPelO0Hbf0+C0VbxHgEecfeNZnZUWMbZ8QnMrFl4ZyYRogAgFcnCn2Al6BytQyEjU9x9MnC9mY0kqCQ/J2g7TyNoesmzCujt7svi9s073qYwsKQCG+I6YzsBS8ysmrt/6O5jws97EQzb3G1m1czM3D3v2YW8/GNmFwPzCJ5FGAP8n5ldaWY1wnSnEFzRdwFeDEcKVSW4Cm9DMAR1UvhsRJvwWFsJrtzXEDRFjQCqu/uscPltM2sVV+5q7Pn7NSDN3Tu4eweCfpC877g1wZX/o2Hl/wYw2t13ht9rXqV/K3Bzwd+DHNrUBCQVqTp7KhzY0+zyVN4HYWX5NEHFeATwAtDJ3TPC8f5XA6+b2dvufqW77yJoVoFgqGj88TvGLZ8SDhU9k2C8fE1gjZntNfTTzHqGxzmN/CN8qhEEiQFA/7wHp8xsJcFV/Irwyn40wSieNQR3OMcT9B+sIxid9Er47/Hu/hHwkZkNJWiW+YYgqHUhaHbC3WeaWU2CPo48VQiamvLylZf3mgRNUkPCfZeYWRuCwDkZGOPuj4bJlwJtzGxx+N3la1qTQ58eBJMDTlhJZxGM1d/r7iC80m7u7v9N4Ng1gV+4+7tlyF+1op4yDp8cPjr+jiT8vIG7b0r0nGUVNu8cHde5LaIAICISVeoDEBGJqAO6D6BBgwberFmzys6GiMhB5eOPP97k7inFpTugA0CzZs1YtGhRZWdDROSgEj5IWCw1AYmIRJQCgIhIRCkAiIhE1AHdByCSlZXF2rVr2bVLk1WKFHTYYYdx7LHHkpyc2OupFQDkgLZ27Vrq1KlDs2bNyD+nmki0uTs//vgja9eu5fjjjy9+h0Ls1yYgMzvaghd71ylk23H789xyaNi1axdHHnmkKn+RAsyMI488skx3xyUKAGbW0MzmFfjsVDP79z72OZFgjvVzgPfCybVGmdnscHrc8xPOtUSKKn+RwpX1b6PYJqBwCt7nCV58nfeZEUxmta+Gp9YEE2YtD2cxPJ7gvaeLCSb6Wl2GfIuISBmV5A4gh2BWwu1xn/UneHNSkcL52FeZWReCtxp9QzBtbRLBu1zfSyTDIpVp+fLl+9yem1vUO9cPHDt37mT9+vWVnQ05ABR7B+Du22HPrYaZHQn0BS4Of/alNsGLKlaxZ0739gTT5L5vZgPdfWn8DmY2kGDedJo0aVKKouzRbNjrCe238oEuCe0n5Sv+9/fUZUeTtXZrbP2yxxaU67lK8zv//vvv6datGx9//DHVqlXba/vMmTOZNGkSM2bMoHv37owePZoNGzbw7bff0qtXr73S33XXXVxxxRW0adOm0PPNnDmTBg0a0L59ewB69+7Ns88+S/Xqe2a8fuGFF+jevTuHHXYYs2fP5uuvv2bIkCF7HSs3Nxczw8yYP38+L7zwAi+99BIA2dnZJCXtqQqGDx/OgAEDOP7448nMzKRXr15MnTo13/Fat27NkiVLYuunnHIKX3zxxV7nzcrKio1QGTduHA0bNqRnz56FnlcqXiLf/gPAHe6eVVz7k7tvBa4ysxeBM9z9ETP7huDtR9MI5jxfWmCfiQRzqJOamqqpSqXSnX322dSoUYO1a9eSnJxM587B2ybdnYyMDObNm8fMmTPp168fCxcuZPPmzXz//ffccMMNnHDCCVx77bWFHnfRokVceOGF+T6LrxTbt2/Pddddx/Tp01mwYAH169fPV/kDHHXUUfTu3ZsxY8YwfPhwqlWrxosvvkhubi6HH344b731FgCzZ8/moYcewt2pWjV4GVlaWhpmRm5uLrNmzaJGjeB9Nh9//DH33XcfAP/+97+pWbMmX375JQDNmzenWrVqsbR5ateuDUBOTg7PPPMMAwYMwMxi312VKlVYvXo1TZo0YcKECbg7O3fu5P3339/rWFJxEgkAvwROCCv/081spLvfVTCRmf0VmOzu7wP1CN54RLj8E8FLLGonlGuRCvTBBx+Qnp5Ot27deP311/e6+p8/fz7/+te/uOiii1i5ciUTJkwgIyODCRMm0LJlS1555RW2bt3KOeecs9exhw4dyuGHHx5bP//887nvvvtYu3YtqampnHTSSaSlpcW216tXj02bNsWCRKdOnXB3Nm/ezNSpU3n66adZs2YNd955Z77mqEsuuYRLLrmE9u3bM2PGDBo2bMibb77JK6+8wvPPPw8ElXeDBg047bTTaNu2LV27duWTTz6hbt26PPDAA/znP/9h2rRpnHTSSXt1PlapUoWlS5cyZMgQjjnmGHr16kXt2rXp1KkTZ555Jps2bWL58uU0b96c4447ju+++47ly5er8q9kpQ4A7n5i3rKZzXX3u8zsVwRvXHosLumDBK/Dc2COu38Vjgz6jCAAvEHwdicpJTVxVSx357LLLuPee++lV69epKenA/Dll1/Srl07pk6dSocOHRgwYAAtWrTgscceY86cOTz66KMkJydjZtxzzz2FHnv8+PH5Kvg81apVo1OnTjz33HP5Pk9LS4tdwWdkZDBs2DAaNWpE69atmTJlCkcffTSdOnXinnvuoXHjxvTt2zdfE9NVV13FwoUL6datGy+//DKDBw/G3WN3Bm3btuXtt99m7ty5PPHEExx99NE8/PDD1K1bl8GDB8fuQDIyMujQoQMZGRn079+f77//nltvvZVRo0Zx5plnxs535513snLlSu677z7S09P52c9+xpQpU3jjjTe49957y/BbkfJQ4gDg7mlFfRa+Gu+dAttWAB0KfBb/lqSTS5FPkUqRkZHBoEGDWL9+Peeeey7nnnsuAHfccQdnnXUWt9xySyxtZmYmv/vd7/Y6xpw5c2J3DaNHj2bmzJkA/Pe//813B9CnT5/Y/rm5uSxatGiv4LB+/XpycnJISkqievXqXHzxxTz44IO88MILHHnkkSQlJfHaa68B0L9/f37+858DMGrUKJ599lmOOuooAMaMCV6D/Ic//AF3Z8yYMbRv357PPvuMtLQ0tm7dSrdu3ejXrx99+/bltddeY/fu3dSqFQwGrFGjBvPnz4/l66WXXuL11/e+MPnyyy+ZMmUKo0ePZtKkSQwaNIjrrruOevXqsXXrVq655prS/DqknKkHRmQfFi9eTOfOndm8eTOPPfYY06ZNo1q1anz00UecccYZdO3alaFDh3LFFVfw6aefsmTJEj7//HOqV6/OCSecwM9+9rN8HZ2rV6/m1ltvpVu3bvnO89xzz7F69Z6R0dWrV2fRokWkp6czdepUunfvTr169Vi1ahVVqgSD96pUqUJqaiqNGjVi7ty5vP3229SuXZtf/OIX3HvvvSQnJ1OzZk0geKBu1KhRXHHFFfss7+mnn85bb73F3LlzmTt3Li1atKBq1aosWbKEjIyMWAAoiW3btvHkk0/y5z//mQEDBrBt2zbGjBlDcnIyI0eOZPLkyWRmZhbaoS4VQ5PBiezDOeecExu1MmTIEN555x1mzZpFmzZtmDVrFnPnzo1VqieeGLSO/uEPf2DdunWsXr2aFi1akJ2dHTvevgZO5FXsAD179mT+/PmMHTuWFi1acNNNNwFBZ+7AgQNj6eKP/eCDD+LufPTRRzRu3DhW+UNw53DccYk9fP/444/TsmVLMjIy8h0zOzubSZMmMW7cuHzp169fT25uLlOnTmXFihVce+21uDsbN25k3bp1ZGdnc+ONNzJv3jxeeOGFhPIk5UN3AHJQeW3I3h2peVofW6/C8hH/Lu2srCx++OEHBg8eTL9+/WjdujX169enV69eNG3alCVLlpCamhpLf/vtt/PAAw/kO97GjRvp378/AOvWraN69erUq1ePpKQkLrjgAs444wxWrlxJ1apVOfroo1m8eDFt27albt26DBo0iL59+9KxY0eaNGnCsGHD+Oqrr7jmmmtITU0lKyuLBQsWMH78+GLL9cknn+RrAgJo3LgxAD/++CNmRnZ2NqtXr+aMM86gc+fO3HLLLTzzzDNkZmaSlJTEgAEDuP7667nmmmvyNfH85S9/oVGjRrGAKpVPAUCkBHbs2BFbHjBgAMcee2xsPTMzk2uvvZZWrVpx880307ZtWwAWLFjAvHnzePzxx5k0aRJVqlRh9+7djB49utAmoK+//hoIgsuwYcNISUnh2Wef5b33gmcm161bx9133x0borlz504GDBhAy5Yt+dOf/kSLFi2A4NmA9evXM2XKFKpWrcro0aPp2bNnsU0tOTk5tGvXjjlz5rBw4ULmzQtmf3n++ecZOXIkZ511FgBJSUnccsst9OvXL9an0K1bNy644ALcnebNm3PxxXs/IrR79+58dyxS+Sz+SuZAk5qa6om8EvJQHyUTpfI9ddnRNGzSvET7VeQdwMFk69at1K1bN18TU2ls2bKF7OxsUlKKfcWsVIKlS5dy8sn5x9SY2cfunlrELjG6AxA5xNWrV7bAWL9+/XLKiRxo1AksIhJRCgAiIhGlACBSCitXrsy3vnv3btasWVOifQ+U11pu27aNyuj7K2oW0m+//bbC81JSh/rMqQoAclBp/XTTIn+49/DS/5TC6NGjWbx4cb7Pli1bRr9+/YrcZ+HChdx5550APPLII3sN/1y7di2NGjUiLS2NZs2a8cEHH9CxY0dycnL44YcfuPLKK4FgpNH27duZPXs2w4cPZ9u2bezcuZNx48ZR2oESPXv2jD0JHG/Dhg3UqVOH1NTUQn9q165NRkYGEIw0ygtos2fP5rHHHtvreBA80ZwXbObPn8+tt94a25Y3ImjmzJn87W9/22ee77rrLj755JMit8+cOZOFCxfG1nv37s3u3bvzpSnPPOcZPnw4K1asAILfUWEP2rVu3Trf+imnnFLoebOysmLL48aN45VXXinyvOVFncAiJbBy5UrWrFnD7bffzsMPP8z06dNjM2Du3LmTTp06kZubS3p6Oq+99hoZGRmx2UPzhl9OmzaN6dOnA8GQy9zc3NicP+3atWPTpk2x9Dt27KB3796MGDECCN5DMHnyZDZs2MDy5ct55JFHSEtLY/LkybRs2ZL58+fTuHFjmjcPRkxdffXVe80jBPDQQw9x3nnn8dVXXzFr1iw6deoU21atWjXatWvH3LlzC/0OzjrrrNjkbeU5C+mNN95Inz596Nq1K3Xq7PX2WEAzp+6vmVMVAERK4MUXX2Tw4MEApKenc//993Peeeexa9cucnNzqVmzJllZWSQlJWFmvPPOO8ydO5fLLrsMgA8//JBNmzYxYMAAVq1aRfXq1enTp0/s4a/Zs2eTmpoae1L40UcfZfTo0bEHyE488UTmz59PVlYWmzdvZv78+bRr146mTZuyfv165syZwznnnMOgQYOKLMPDDz/M8uXLmTBhApmZmfTp04clS5Zw8803x+bszzv3K6+8Ehs26u6xO5E85TkLKUDfvn2ZMWPGPu+mNHNq+c+cqgAgUgLLly+PjbXOmz1z06ZNzJ8/n6VLl3LHHXcwdepUFi1axJgxY6hSpUq+cfejRo3iggsu4Omnn+aPf/wjnTp14uyzz2bjxo2xYwKMGDGChQsXsmPHDt5++22ys7O57bbbuOyyy7jxxhtjV7WZmZl89NFHDBs2jKysLLZs2ULnzp25/vrr+eKLL/jyyy9JS0vjl7/8JVdddRWDBw+mVq1atGrVipEjRwLQsmVLli9fzumnn86ECRNo1aoVADfccAM33HDDXt/Bs88+C5T/LKRVqlThrLPO4r777ttnANDMqeVPAUCklH766SdWrFjBuHHj+Mc//sHYsWO56aabePfdd+nbt+9e6Xfu3MnZZ5/Np59+ysqVK/niiy/4/e9/D+yp+PPaf4cNG8b999/Pc889x913352vnXr37t2xCm3nzp2MGDGCt956izlz5vDggw8C8MQTTwD5m4B++OEH7rzzTk499VRWrFgRC0y5ubmccMIJpKenU6dOnXxt0K1bt449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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bfbb2e8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from analysis.utils import plot_show\n",
    "\n",
    "tmp_df = pd.merge(\n",
    "    t8['存货占总资产的比率'], \n",
    "    t5['(应收账款+合同资产)占总资产的比率'],\n",
    "    right_index=True,\n",
    "    left_index=True\n",
    ")\n",
    "plot_show(tmp_df, image_title=images['t8'][0], y_label='', y_format='', save_image=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 商誉占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>商誉(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>80,589,600</td>\n",
       "      <td>80,589,600</td>\n",
       "      <td>80,589,600</td>\n",
       "      <td>80,589,600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>商誉占总资产的比率</th>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.85%</td>\n",
       "      <td>0.76%</td>\n",
       "      <td>0.65%</td>\n",
       "      <td>0.58%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    2016           2017           2018            2019  \\\n",
       "商誉(元)                  0              0     80,589,600      80,589,600   \n",
       "资产合计(元)    6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "商誉占总资产的比率          0.00%          0.00%          0.85%           0.76%   \n",
       "\n",
       "                     2020            2021  \n",
       "商誉(元)          80,589,600      80,589,600  \n",
       "资产合计(元)    12,457,568,300  13,906,035,200  \n",
       "商誉占总资产的比率           0.65%           0.58%  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t9 = analysis.init_table('t9')\n",
    "t9['商誉占总资产的比率'] = t9['商誉(元)'] / t9[ '资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t9')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c0c2c50>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t9')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 营业收入分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>营业收入增长率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>21.10%</td>\n",
       "      <td>5.81%</td>\n",
       "      <td>4.52%</td>\n",
       "      <td>4.74%</td>\n",
       "      <td>24.84%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     2016           2017           2018           2019  \\\n",
       "其中：营业收入(元)  5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "营业收入增长率              nan%         21.10%          5.81%          4.52%   \n",
       "\n",
       "                     2020            2021  \n",
       "其中：营业收入(元)  8,128,620,799  10,147,706,035  \n",
       "营业收入增长率             4.74%          24.84%  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t10 = analysis.init_table('t10')\n",
    "t10['营业收入增长率'] = t10['其中：营业收入(元)'].pct_change()\n",
    "\n",
    "analysis.format_show_table('t10')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bf32400>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t10')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业成本(元)</th>\n",
       "      <td>2,474,046,300</td>\n",
       "      <td>3,250,587,700</td>\n",
       "      <td>3,450,765,200</td>\n",
       "      <td>3,548,777,700</td>\n",
       "      <td>3,563,206,900</td>\n",
       "      <td>4,835,053,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>毛利率</th>\n",
       "      <td>57.31%</td>\n",
       "      <td>53.68%</td>\n",
       "      <td>53.52%</td>\n",
       "      <td>54.27%</td>\n",
       "      <td>56.16%</td>\n",
       "      <td>52.35%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>毛利率波动率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>-6.33%</td>\n",
       "      <td>-0.29%</td>\n",
       "      <td>1.40%</td>\n",
       "      <td>3.49%</td>\n",
       "      <td>-6.79%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     2016           2017           2018           2019  \\\n",
       "其中：营业收入(元)  5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "其中：营业成本(元)  2,474,046,300  3,250,587,700  3,450,765,200  3,548,777,700   \n",
       "毛利率                57.31%         53.68%         53.52%         54.27%   \n",
       "毛利率波动率               nan%         -6.33%         -0.29%          1.40%   \n",
       "\n",
       "                     2020            2021  \n",
       "其中：营业收入(元)  8,128,620,799  10,147,706,035  \n",
       "其中：营业成本(元)  3,563,206,900   4,835,053,400  \n",
       "毛利率                56.16%          52.35%  \n",
       "毛利率波动率              3.49%          -6.79%  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t11 = analysis.init_table('t11')\n",
    "t11['毛利率'] = (t11['其中：营业收入(元)']-t11['其中：营业成本(元)']) / t11['其中：营业收入(元)']\n",
    "t11['毛利率波动率'] = t11['毛利率'].pct_change()\n",
    "\n",
    "analysis.format_show_table('t11')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37be780f0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t11')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 期间费用率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>销售费用(元)</th>\n",
       "      <td>1,545,113,300</td>\n",
       "      <td>1,677,876,500</td>\n",
       "      <td>1,909,856,800</td>\n",
       "      <td>1,928,259,200</td>\n",
       "      <td>2,146,965,000</td>\n",
       "      <td>2,454,418,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>管理费用(元)</th>\n",
       "      <td>449,159,300</td>\n",
       "      <td>247,834,600</td>\n",
       "      <td>272,355,100</td>\n",
       "      <td>284,364,100</td>\n",
       "      <td>296,985,800</td>\n",
       "      <td>363,762,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>研发费用(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>233,127,000</td>\n",
       "      <td>293,427,200</td>\n",
       "      <td>299,469,100</td>\n",
       "      <td>303,347,600</td>\n",
       "      <td>366,026,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>财务费用(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>四费合计</th>\n",
       "      <td>1,994,272,600</td>\n",
       "      <td>2,158,838,100</td>\n",
       "      <td>2,475,639,100</td>\n",
       "      <td>2,512,092,400</td>\n",
       "      <td>2,747,298,400</td>\n",
       "      <td>3,184,207,100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期间费用率</th>\n",
       "      <td>34.41%</td>\n",
       "      <td>30.76%</td>\n",
       "      <td>33.34%</td>\n",
       "      <td>32.37%</td>\n",
       "      <td>33.80%</td>\n",
       "      <td>31.38%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>毛利率</th>\n",
       "      <td>57.31%</td>\n",
       "      <td>53.68%</td>\n",
       "      <td>53.52%</td>\n",
       "      <td>54.27%</td>\n",
       "      <td>56.16%</td>\n",
       "      <td>52.35%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期间费用率占毛利率的比率</th>\n",
       "      <td>60.05%</td>\n",
       "      <td>57.31%</td>\n",
       "      <td>62.29%</td>\n",
       "      <td>59.64%</td>\n",
       "      <td>60.18%</td>\n",
       "      <td>59.94%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       2016           2017           2018           2019  \\\n",
       "销售费用(元)       1,545,113,300  1,677,876,500  1,909,856,800  1,928,259,200   \n",
       "管理费用(元)         449,159,300    247,834,600    272,355,100    284,364,100   \n",
       "研发费用(元)                   0    233,127,000    293,427,200    299,469,100   \n",
       "财务费用(元)                   0              0              0              0   \n",
       "四费合计          1,994,272,600  2,158,838,100  2,475,639,100  2,512,092,400   \n",
       "其中：营业收入(元)    5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "期间费用率                34.41%         30.76%         33.34%         32.37%   \n",
       "毛利率                  57.31%         53.68%         53.52%         54.27%   \n",
       "期间费用率占毛利率的比率         60.05%         57.31%         62.29%         59.64%   \n",
       "\n",
       "                       2020            2021  \n",
       "销售费用(元)       2,146,965,000   2,454,418,000  \n",
       "管理费用(元)         296,985,800     363,762,400  \n",
       "研发费用(元)         303,347,600     366,026,700  \n",
       "财务费用(元)                   0               0  \n",
       "四费合计          2,747,298,400   3,184,207,100  \n",
       "其中：营业收入(元)    8,128,620,799  10,147,706,035  \n",
       "期间费用率                33.80%          31.38%  \n",
       "毛利率                  56.16%          52.35%  \n",
       "期间费用率占毛利率的比率         60.18%          59.94%  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t12 = analysis.init_table('t12')\n",
    "t12.loc[t12['财务费用(元)']<0, '财务费用(元)'] = 0\n",
    "t12['四费合计'] = t12.T[:4].sum()\n",
    "t12['期间费用率'] = t12['四费合计'] / t12['其中：营业收入(元)']\n",
    "t12['毛利率'] = t11['毛利率']\n",
    "t12['期间费用率占毛利率的比率'] = t12['期间费用率'] / t12['毛利率']\n",
    "\n",
    "analysis.format_show_table('t12')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bd85f98>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t12')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bd82ef0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t12', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 销售费用率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>销售费用(元)</th>\n",
       "      <td>1,545,113,300</td>\n",
       "      <td>1,677,876,500</td>\n",
       "      <td>1,909,856,800</td>\n",
       "      <td>1,928,259,200</td>\n",
       "      <td>2,146,965,000</td>\n",
       "      <td>2,454,418,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>销售费用率</th>\n",
       "      <td>26.66%</td>\n",
       "      <td>23.91%</td>\n",
       "      <td>25.72%</td>\n",
       "      <td>24.85%</td>\n",
       "      <td>26.41%</td>\n",
       "      <td>24.19%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     2016           2017           2018           2019  \\\n",
       "销售费用(元)     1,545,113,300  1,677,876,500  1,909,856,800  1,928,259,200   \n",
       "其中：营业收入(元)  5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "销售费用率              26.66%         23.91%         25.72%         24.85%   \n",
       "\n",
       "                     2020            2021  \n",
       "销售费用(元)     2,146,965,000   2,454,418,000  \n",
       "其中：营业收入(元)  8,128,620,799  10,147,706,035  \n",
       "销售费用率              26.41%          24.19%  "
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t13 = analysis.init_table('t13')\n",
    "t13['销售费用率'] = t13['销售费用(元)'] / t13['其中：营业收入(元)']\n",
    "\n",
    "analysis.format_show_table('t13')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37bd8f470>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t13')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 主营利润"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业成本(元)</th>\n",
       "      <td>2,474,046,300</td>\n",
       "      <td>3,250,587,700</td>\n",
       "      <td>3,450,765,200</td>\n",
       "      <td>3,548,777,700</td>\n",
       "      <td>3,563,206,900</td>\n",
       "      <td>4,835,053,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>营业税金及附加(元)</th>\n",
       "      <td>67,524,300</td>\n",
       "      <td>66,643,000</td>\n",
       "      <td>70,571,400</td>\n",
       "      <td>66,618,100</td>\n",
       "      <td>61,956,600</td>\n",
       "      <td>80,591,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>四费合计</th>\n",
       "      <td>1,994,272,600</td>\n",
       "      <td>2,158,838,100</td>\n",
       "      <td>2,475,639,100</td>\n",
       "      <td>2,512,092,400</td>\n",
       "      <td>2,747,298,400</td>\n",
       "      <td>3,184,207,100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>主营利润</th>\n",
       "      <td>1,259,054,667</td>\n",
       "      <td>1,541,328,258</td>\n",
       "      <td>1,427,909,574</td>\n",
       "      <td>1,633,093,656</td>\n",
       "      <td>1,756,158,899</td>\n",
       "      <td>2,047,854,235</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>主营利润率</th>\n",
       "      <td>21.73%</td>\n",
       "      <td>21.96%</td>\n",
       "      <td>19.23%</td>\n",
       "      <td>21.04%</td>\n",
       "      <td>21.60%</td>\n",
       "      <td>20.18%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>三、营业利润(元)</th>\n",
       "      <td>1,334,633,128</td>\n",
       "      <td>1,690,032,921</td>\n",
       "      <td>1,701,556,037</td>\n",
       "      <td>1,871,755,798</td>\n",
       "      <td>1,951,474,414</td>\n",
       "      <td>1,535,200,561</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>主营利润占营业利润的比率</th>\n",
       "      <td>94.34%</td>\n",
       "      <td>91.20%</td>\n",
       "      <td>83.92%</td>\n",
       "      <td>87.25%</td>\n",
       "      <td>89.99%</td>\n",
       "      <td>133.39%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       2016           2017           2018           2019  \\\n",
       "其中：营业收入(元)    5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "其中：营业成本(元)    2,474,046,300  3,250,587,700  3,450,765,200  3,548,777,700   \n",
       "营业税金及附加(元)       67,524,300     66,643,000     70,571,400     66,618,100   \n",
       "四费合计          1,994,272,600  2,158,838,100  2,475,639,100  2,512,092,400   \n",
       "主营利润          1,259,054,667  1,541,328,258  1,427,909,574  1,633,093,656   \n",
       "主营利润率                21.73%         21.96%         19.23%         21.04%   \n",
       "三、营业利润(元)     1,334,633,128  1,690,032,921  1,701,556,037  1,871,755,798   \n",
       "主营利润占营业利润的比率         94.34%         91.20%         83.92%         87.25%   \n",
       "\n",
       "                       2020            2021  \n",
       "其中：营业收入(元)    8,128,620,799  10,147,706,035  \n",
       "其中：营业成本(元)    3,563,206,900   4,835,053,400  \n",
       "营业税金及附加(元)       61,956,600      80,591,300  \n",
       "四费合计          2,747,298,400   3,184,207,100  \n",
       "主营利润          1,756,158,899   2,047,854,235  \n",
       "主营利润率                21.60%          20.18%  \n",
       "三、营业利润(元)     1,951,474,414   1,535,200,561  \n",
       "主营利润占营业利润的比率         89.99%         133.39%  "
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t14 = analysis.init_table('t14')\n",
    "t14['四费合计'] = t12['四费合计']\n",
    "t14['主营利润'] = t14['其中：营业收入(元)'] - t14.T[1:4].sum()\n",
    "t14['主营利润率'] = t14['主营利润'] / t14['其中：营业收入(元)']\n",
    "t14['主营利润占营业利润的比率'] = t14['主营利润'] / t14['三、营业利润(元)']\n",
    "\n",
    "analysis.format_show_table('t14')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37be5bf28>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t14')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c0910b8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t14', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 看净利润，了解公司的经营成果及含金量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>五、净利润(元)</th>\n",
       "      <td>1,206,814,400</td>\n",
       "      <td>1,461,194,100</td>\n",
       "      <td>1,483,847,900</td>\n",
       "      <td>1,614,245,400</td>\n",
       "      <td>1,687,357,900</td>\n",
       "      <td>1,348,791,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>净利润现金比率</th>\n",
       "      <td>128.06%</td>\n",
       "      <td>87.09%</td>\n",
       "      <td>101.69%</td>\n",
       "      <td>96.34%</td>\n",
       "      <td>91.11%</td>\n",
       "      <td>101.23%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016           2017           2018           2019  \\\n",
       "经营活动产生的现金流量净额(元)  1,545,448,500  1,272,482,600  1,508,960,300  1,555,220,900   \n",
       "五、净利润(元)          1,206,814,400  1,461,194,100  1,483,847,900  1,614,245,400   \n",
       "净利润现金比率                 128.06%         87.09%        101.69%         96.34%   \n",
       "\n",
       "                           2020           2021  \n",
       "经营活动产生的现金流量净额(元)  1,537,300,000  1,365,377,200  \n",
       "五、净利润(元)          1,687,357,900  1,348,791,400  \n",
       "净利润现金比率                  91.11%        101.23%  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t15 = analysis.init_table('t15')\n",
    "t15['净利润现金比率'] = t15['经营活动产生的现金流量净额(元)'] / t15['五、净利润(元)']\n",
    "\n",
    "analysis.format_show_table('t15')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "连续 5 年的平均净利润现金含量：100.92%\n"
     ]
    }
   ],
   "source": [
    "print(f\"连续 5 年的平均净利润现金含量：{t15['净利润现金比率'].mean():.2%}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 归母净利润"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>归属于母公司所有者的净利润(元)</th>\n",
       "      <td>1,206,833,900</td>\n",
       "      <td>1,461,213,500</td>\n",
       "      <td>1,473,579,700</td>\n",
       "      <td>1,589,814,800</td>\n",
       "      <td>1,660,750,000</td>\n",
       "      <td>1,331,712,100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>归属于母公司所有者权益合计(元)</th>\n",
       "      <td>4,128,555,100</td>\n",
       "      <td>5,260,800,800</td>\n",
       "      <td>6,045,384,400</td>\n",
       "      <td>6,864,388,900</td>\n",
       "      <td>8,050,626,800</td>\n",
       "      <td>8,627,026,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ROE 净资产收益率</th>\n",
       "      <td>29.23%</td>\n",
       "      <td>27.78%</td>\n",
       "      <td>24.38%</td>\n",
       "      <td>23.16%</td>\n",
       "      <td>20.63%</td>\n",
       "      <td>15.44%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>归属于母公司所有者的净利润增长率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>21.08%</td>\n",
       "      <td>0.85%</td>\n",
       "      <td>7.89%</td>\n",
       "      <td>4.46%</td>\n",
       "      <td>-19.81%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016           2017           2018           2019  \\\n",
       "归属于母公司所有者的净利润(元)  1,206,833,900  1,461,213,500  1,473,579,700  1,589,814,800   \n",
       "归属于母公司所有者权益合计(元)  4,128,555,100  5,260,800,800  6,045,384,400  6,864,388,900   \n",
       "ROE 净资产收益率               29.23%         27.78%         24.38%         23.16%   \n",
       "归属于母公司所有者的净利润增长率           nan%         21.08%          0.85%          7.89%   \n",
       "\n",
       "                           2020           2021  \n",
       "归属于母公司所有者的净利润(元)  1,660,750,000  1,331,712,100  \n",
       "归属于母公司所有者权益合计(元)  8,050,626,800  8,627,026,700  \n",
       "ROE 净资产收益率               20.63%         15.44%  \n",
       "归属于母公司所有者的净利润增长率          4.46%        -19.81%  "
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t16 = analysis.init_table('t16')\n",
    "t16['ROE 净资产收益率'] = t16['归属于母公司所有者的净利润(元)'] / t16['归属于母公司所有者权益合计(元)']\n",
    "t16['归属于母公司所有者的净利润增长率'] = t16['归属于母公司所有者的净利润(元)'].pct_change()\n",
    "\n",
    "analysis.format_show_table('t16')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37acb9c50>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t16')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c157a58>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t16', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 构建三产支付的现金"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>购建固定资产、无形资产和其他长期资产支付的现金(元)</th>\n",
       "      <td>199,329,700</td>\n",
       "      <td>146,347,300</td>\n",
       "      <td>180,703,200</td>\n",
       "      <td>272,163,300</td>\n",
       "      <td>282,289,900</td>\n",
       "      <td>432,870,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>购建支付的现金与经营活动产生的现金流量净额的比率</th>\n",
       "      <td>12.90%</td>\n",
       "      <td>11.50%</td>\n",
       "      <td>11.98%</td>\n",
       "      <td>17.50%</td>\n",
       "      <td>18.36%</td>\n",
       "      <td>31.70%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                     2016           2017           2018  \\\n",
       "购建固定资产、无形资产和其他长期资产支付的现金(元)    199,329,700    146,347,300    180,703,200   \n",
       "经营活动产生的现金流量净额(元)            1,545,448,500  1,272,482,600  1,508,960,300   \n",
       "购建支付的现金与经营活动产生的现金流量净额的比率           12.90%         11.50%         11.98%   \n",
       "\n",
       "                                     2019           2020           2021  \n",
       "购建固定资产、无形资产和其他长期资产支付的现金(元)    272,163,300    282,289,900    432,870,300  \n",
       "经营活动产生的现金流量净额(元)            1,555,220,900  1,537,300,000  1,365,377,200  \n",
       "购建支付的现金与经营活动产生的现金流量净额的比率           17.50%         18.36%         31.70%  "
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t17 = analysis.init_table('t17')\n",
    "\n",
    "t17['购建支付的现金与经营活动产生的现金流量净额的比率'] = \\\n",
    "t17['购建固定资产、无形资产和其他长期资产支付的现金(元)'] / t17['经营活动产生的现金流量净额(元)']\n",
    "\n",
    "analysis.format_show_table('t17')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEGCAYAAABsLkJ6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xu85XO9x/HXe25M4zIj24gwaIgTBkMUmnEwohAdUxRSTcVQcaqRQTpOpNDJLYMOTSUUIndpmC4uMy4diZARIZuM22jM5XP++H6XvaxZe++1196z9575vp+Px37s9fut7+/3+35/v7W+n+/lt9ZSRGBmZuUZ0NcZMDOzvuEAYGZWKAcAM7NCOQCYmRXKAcDMrFAOAMs4SaqzbtBSOtbqS2O/1r6Sr2+9si+NfS6t87kscACoQ9K6kr7aYNqNJd3aw8ffWtLABpNvJ+nmmnW3Sdqqh/M0GPiNpGM7Sfc+SVO7sN8NJI3uYl5GS5pVtfxTSfvXSTdI0ogO9jNc0goNHG8NSe9tIN3GkiZ0kmYLSQPy41MkfbOT3far61tnu7GSVuvJvOT9DgMe6+y1IWkVSVMqFbukIZXzm5cHVS/TzfMp6Q1JKzaY9gRJn2gkbV8pNvJVSHoeeCAvbgD8O7ArMKRO2muBRcD9wJXAD/JT75I0A1gVmBQRd7dzrBOAZyJiWgf5WQG4FtgReKRq/VeBNSLiP2s22Qz4XVW64cDqwL01+90C+AkgYCFwD7AY2AF4JScbArwQEePrZO1s4BpgZ0l/jogr2inCu4F3tFO2AcDgiJhftfp44I/A6ZKmAVsAC3I+BwF7RMQLkrYBpgGvAoOBd+dzXjnm5pIOA4YCUyPiZmAX4GxJB5Ku2+bA2sBo0rUeCpwCXJbzNwRYEBGRW4WKiAXARsBxwBKVu6QhEfFGXtwQ+BZwY35OwJCa8v4KmAz8EvgX6Vp0pN9cX0mnAPOAk0mNxzeAbYHDgENzmhWANyJ/wEjSLcDKwOs1uxsKvBQRu+V0W5HO3d75fB1PulaX5Lr9lfzcyzn9GOCsvK/tgY9IWgDcRarkNwKezsc9DJjdlfOZnzsf+H1E/G/V6jdIr88lSLqQ9NpanFetA7xN0mfy8kDg+Yj4SL3t+0LxAQB4EdgfWAE4g1RRHASsJumjOc1AYBzwOeAQoBX4E+mFtw7wg4jYXdJFwAqSBkfEAkm3A8NJLxqANYEFkibl5UGkN8EHqvLzCeBnEfEIb/UGqfJ7k6RrgG2A1yXtA5wErJKP+Uh+46wZEStFxP3AeyTdAHw+IuZIOgc4PJdnSP5/Xs0xBuTzMiAivi5pFeBqSZsD36qq/CrWBvZsp8U8AHgc2C/v+53ApsCnJW0REZXzgqSTgXkR8QJADqpb5ufWJ53zCXn5dODXEXFt9cEi4gZJhwBfzmVYifRGnxwRa9TJ3y+AtSQFKchclLdbSM25z8cdAsyW9AZQ+UTlwtw7GZDXPU8OHLmSXgxcXefYS+iH1/d7wCXAXGASqVJeD/irpN/mNEOAvYFn8vJ8UgCop7oivRd4AbgwV6QTgXdExD9zRfxwpfLPVgIeJQXboyPiTkn/C3w1IhZKuhvYNSLmNnM+8yb1KvuFEbEo728DYOuIuDw/99+k1+yzOQBdQGpMDoiI1yX9G6l+6T8ioug/4GFSpX4G8HNS5X9ZTZoHgRH58UzSi+8XwB3A3aQg8lvgH6TexD7tHGsKcEgHeXkbMCfn5xpST+O+/Pd34FlSa3lCVb6G58cnAZ8CbgM2rtrnYzXHuAEYlR+fRWolfw04ERgF3FCVdhRwcy7rWqQAtibpTX8D8GTebq2qbX7YXvlr8qF8vrcF1gWeIL35AI7K53J4VfoVSRVyI39r5202zf8HkAK88vJTVfsdBAxsJ48bAxfmfD6Sz9dvgB1q0o3Jr4vBeXkg6XU1pibdOaRK+KH893zV8sOkFut7a153/eb6Vp/DvPx5Uo9GwF6k3k7tOTwRmAr8Z83fVODEmrRDgX2Bx4BfAz8j9WoWApcCPwa2q3o9bEIKGltX7ePr+bwuzP9/1ez5zOfvEzV5nAsMA44BngK+VvXcJ0nv1Q2A60i9ryNy3keTGo0f7+s6r/rPPYDUSlsAVFoX6wOnSLomIj6c1w0CFkk6CniJVDEcTnoBrZz/riK1Wr4UEdVdzBVIwwqVbmFHTiW9mQA+Wr2dpC+RWirfrEpTu88PABERD1etq2wvUqsWYGAe860YSKqA35Rbq9cBx5Ja7BeQXsSvkV74A4E9gCNJrain86ajSUGsM+NILeO1SL2Gg4E38jDQSqRhklskHRcR15Ou0275mB25ABgmaSVguqQHSUN155B6XwBrqG0OYQBwnKRRpOBffW7nRcTOknYmVQSTJV1GTaswIu6T9CTwXlJDYCLwUF4/MO9rfVLvbpOI+DuApG+QWpQntVOWfnN9JQ0FbiEF5yslbQ18DPgwqTLeBviUpI9GxKLcwj6a9H75VzvlGyxpJuk9MzsiXgeuyMNGQ3PZLs75+x1wJm3Di4tI1/Rp4DRJWwIfyfn+BfAHUoNqv2bOZ5XvS/o2ba9JSI2wS4DNI+KflYQRMV3SX0jDt2sBp5EC/ETSMOWk6rqhP3AASG/4IbQFgItJLYs/Sdo6ImaTztMCUqtiNql1tCGpNTgC2Cmvu4XUeql2NvChPNcwFyAPAW0FrBsRz+V1W5IqiR8DRMR8SadLuikibqjsrJNAchdwgaQLI+LTeV0l/buAK0it7WuA82mr7FYD7qzeUUTcL+ld+U15Uc7jScCjEXFRVdLP1uThlZyHevlbCzgvIk4ktbw2JFUyK5FawNcDp0TElfl4twHn5zfV08CsXKnOy2WttgWpAj4LmBsRr+Z5g0OB1yJii0pCSU9FxNg6+Ttb0s+A6fHW4aTVSa1JSMH+1byfdUnDEH/Nz72l3JIeIlVIu5OC5GG0DY0sQdKA/nx9JX0I+G6ee7mY9L64hdQDbiUF0+8CX46Iq4CrJF1AaqUvAEbmXf2DFKxWi4i9a87BLqSKdt1ctg3z3yukHst7c7CeTeohQ7o+j0bErZLeR+qN7Q/8F6lH0Z6OzmfFkRHx46r8nUmq+F+r3ZmklUmV/WWk4bLtST2g35CGIU+RdFhE/F8HeepVDgDpRbsWbW/MgaRK4wjgIklHkM7TYlIL/ELSRPEHSRd1EOkFeh7pRb0/bZNuRMRnJO0BTIyIgwEkHQRsW6n8c7p7c6vphKq8/Z7U4r+B9s2UtIjUdZ8SEb+V9F1JEyLixqr9PwJsVjNGfH5+ejPS0NUcqia/I41bziZVJIvzeZovaXI+T0Mj4t3VmYmIdlvoeUz6kZxusaTNSAHgh6RK8mrgeLXdiSLguoioBNW98v9/kiZvq50MLKquvPIxbgNOza24yqRhdQ9gekT8T87fcNJE8fWSpgPHR8TjpAZBJQ+r0DYfIODBiBjTXplr3Kt0589HSY2J1YFQulNkBVKl/a2abfrN9Y2IPyndyDAM2JPUO7gzpx1A6j3cXpP/rUg9gDdIPT1Iw5lDqLnRQtIOwLeB95N6v4skXQV8LyJmKM2xXQ1cE2mO7Q3S5Py9wPaSzqPtfTyK+sG2ofPZkXYq/4GkwHMOqSd1NGnC/CLSvNdHgK8AnwG+2MhxeoMDQDoHG5NapOuRWpK7krp4a5EmtAaSXsA7kIYi7iLdBXQ5qaVSmQQeQFs3/E0RcZ2koyTtTmq1HAXsXCddZYii4gpgTXV8S+iOETE3t94qTgMOypXfEpOXVf4nl2t9UsXzbpZ8ce4O7BYRP6luIUo6mnQnCwCS1iHNh7zMkq2oFUnzH+uRezhKt/ldQmr570EaOjmVVLF/ktSiPZ507mt9A3hnzbqzSS3NWl8k9SyGknoQn6/K8yGkO3wqjga+nwPH70mTegcA25GG/KCqBwC00NYzaEhETCGdi0aGgKCfXN8qZwDfIfV8NiHNE1TqkbnVQyLZINLw6MukYT+AGaRA+rGatMeQWu0fA74kaSGpcbWJpEoP4Ff5fbIPaWjvn6SABCn4bEQKaCKdm9pb3Zs6n/k9OLzec5UkwPiIeDEvT8/HeJbUOFycA9psSYMiorO7v3qFA0AaNphJum3uMtKE3M6kyZzR+Y+IiPyGnUFq/Z8FvIdU4b9L6S6IyuTfIXWOc2DediFwWJ03yhLycMBZAO0MqbTnSlJLaTh5aEtpLmJjUqV1lqRnIuKzSnfQ/IAUlObV6Z4OIo2xvtmyy5X3V8i3T+a8PklqVbVL0onk+YHcilqj6rl1I91y+WZZc/kX1+xjdl5XfWtlxVl5WOOpnHZtUkv1aFJ3vJ7KGPqGpAroYUmfBZ4DtsjDHqtGRGWYpzoAjKXt9sLe1OvXN69/P2mi96rcmPkrHVC6kEeTejeQhoogzTFADoQ57S6koP5L0vvoJ7mif7MHUL3vnIfBpAnck3LvYA6pwt2GNGcwntSr6swS57OmHHuRepjfqfPc/qSJ8F2BKZKqX5frkwLwR3NactnOJk1w9zkHgNTlPJtUcV8DvC8i7snPPSzpOdrGUtcG/gacThrrnEqaAzg3IpZo0VcoTbgdSuqSvgpMzm/YP9TpTg6oOl5l+9VJrZ/WmrSDeWuX9ri8fjHp2u5OaqkB/AfwBWA6aUjp4dzK+zfSm/2odCh9A3gkIn4CEBHP5K71IVXHPRT4Ua70OyTpbaQhs3eQhjyeyevXJw2hbUIadnmCdEdQZ+YDB0TEnDrHmsNb7zc/C5iW51ME7Cupeuz/7cBPczkfk/QB4N6ImJf39x7S+Toij++uRxoWma/0OYEjSDcCdCofv/YzAZ2l6TfXN5f3+6QxbUh3AFUmjisG5IA5PI+bb0C626ZyTSpDQJtUyifpzoh4iRQUvhwRwVs/G7ES7QvgszkYjSZ9TuRpYB9SL+I80ofJLs2Nia6cT0i9iQOAWcBnIuIPkk6TtGakWz03JPVo14qIX1LTY6r0ACLiLPqpogOApF1JL7Czcrf/O6SK9tn8/BGk4YbvKd31MJU0PrkyaSzvs6RWy9qSHqftHt9JpCGlC0ktz3uBH0bEF/N+tyGNn/4od223johKq3IxNQGA1MIYRBoaqfYd0hj2/BxkKm+0kaSgdgepBUZ+Q1aGX4YCt5JuS9srd00fII1XbgR8PKc7jzTsBWkSb3j+vxLwoqQPku602CjyvdG1ImJebiX9C9g3v8EhtbDnkgLw74EJSvduzydNWg6RNI7UvT8yImbm7YYAl9e0tCrWzPl5IVfYg4Bz83ODgSvqDAFtWpXX2js0JgPn53HiyaTK/uv5uU+S7vSpnYxuz9uBGTnfb/kVpjycAem6ryBpq0j33/eb60saDr0HuEbSD4HXI+JXkqaQGi33kirghcDhktbIx3u+qryv1vwX8CtJ+0VE5dbYyjlZmdRYmENqnNUzhHR9Kj2AfUgt8Y/nOZC9SS3tEaThwYbPZ/Yz4PSougmDFFRuVRruXQwcFxHtDQMOps6QcH+itvdjmSQp2jkJedxvceV55Q94tbcfUvducbTduvl24MXo4M4OSW+rtDh7k6Rh9Sazllf5Wg7qqAVeZ5t278rJ+xtaFbj7laV5fZU+5PRIe++bHjzOCl28XgJWjHRnkzWg+ABgZlYqfxmcmVmhHADMzArVryeBV1999Rg1alRfZ8PMbJkye/bs5yOipbN0/ToAjBo1ilmzZnWe0MzM3iTpic5TeQjIzKxYDgBmZoVyADAzK5QDgJlZoRwAzMwK1VAAkLSapF3zl5L1CKWvDzYzsz7SaQCQNIL0ZWTbAr+R1CJppNJPuXW03YmSZuS/hyQdI+lkSTfm7+wY3zNFMDOzZjTyOYDNgaMi4o4cDHYmfSvisI42iog3f9lK0s+BH5G+SvYeYEvS1yqbmVkf6bQHEBG35cp/J1Iv4HrS714u8cMJ9eSvPn4q0g9hixR0diJ9XbKZmfWRhj4JnIdsJpJ+0WdB/i3RRo/xRdp+5/YB0vfjPwncLmlSRPy55liTSN+nz7rrrtvoMczMlqpRU67t1ePNOWXPpX6MhiaBIzkc+CNtP8zdKaUf2V4j8o96R8QZpF8smkf6vdslShgR0yJibESMbWnp9KsszMysSY1MAn9N0kF5cTjpV5watTdwXc264cArpF9+8m2oZmZ9pJEKeBrwSaUfjR4I3FSbQNLO+Sfzak0Aqn9seiPgfuAu0u+peh7AzKyPdDoHEBEvkn5ns3b9uKrHt5J+g7Q2zQE1y3+pWtwEMzPrMx6CMTMrlAOAmVmhHADMzArlAGBmVigHADOzQjkAmJkVygHAzKxQDgBmZoVyADAzK5QDgJlZoRwAzMwK5QBgZlYoBwAzs0I5AJiZFcoBwMysUA4AZmaFcgAwMyuUA4CZWaEcAMzMCuUAYGZWqD4LAJJGShrcV8c3MyvdoM4SSFoV+BkwEHgNmAF8JD89HLgzIj7XwHYTgUnAwcA4YEJE/KjbJTAzs6Y00gM4EDg9InYDngUej4hxETEOmAmc3+B2uwNjgAuAbUhBwczM+kinPYCIOKdqsQV4DkDS2sDIiJjVhe0EDAZ2A05qMs9mZtYDGp4DkLQ9MCIi7sirDgfO7eJ2NwEfAp4CrpY0vk76SZJmSZrV2traaPbMzKyLGgoAklYDzgQOzcsDgPGk+YCGt4uIS4FvAHOBa4H9areJiGkRMTYixra0tDRaDjMz66JOA4CkIcDlwDER8URevSNp8je6uB3AaOAxYH4jxzczs6WjkQr408BWwLGSZkiaCEwAbq8kkLSppNox/SW2k7QKaUL4QdIdQbf0RCHMzKzrGpkEPpclx/ovrUnzIDC1ge0Abs7/xzSeTTMz62kegjEzK5QDgJlZoRwAzMwK5QBgZlYoBwAzs0I5AJiZFcoBwMysUA4AZmaFcgAwMyuUA4CZWaEcAMzMCuUAYGZWKAcAM7NCOQCYmRXKAcDMrFAOAGZmhXIAMDMrlAOAmVmhHADMzArlAGBmVigHADOzQvVZAJA0UtLgvjq+mVnpOg0AklaVdL2kmyRdWWd5SCfbnyPpw/nxZEl3SxoGTIiIBT1UDjMz66JGegAHAqdHxG7As8DBNcu7t7ehpB2BNSPimrxqDHABsA3wWncybmZm3dNpAIiIcyLi5rzYAtxVs/xcve3y8M75wBxJe1dWA4OB3YDru5NxMzPrnobnACRtD4yIiDvqLddxEPAgcCqwraQjgJuADwFPAVdLGl/nOJMkzZI0q7W1tWulMTOzhjUUACStBpwJHFpvuR1bAtMi4lngx8D4iLgU+AYwF7gW2K92o4iYFhFjI2JsS0tLF4piZmZd0cgk8BDgcuCYiHiidrmDTR8FNsiPxwKVtKOBx4D5jRzfzMyWjkYq4E8DWwHHSpoBHFO9LGmipE0lnVSz3YXAeEm3A4cB35W0Cmni+EFgEnBLD5XDzMy6aFBnCSLiXODcmtUn1kk6tWa7V4D/qJOuMoE8ppEMmpnZ0uEhGDOzQjkAmJkVygHAzKxQDgBmZoVyADAzK5QDgJlZoRwAzMwK5QBgZlYoBwAzs0I5AJiZFcoBwMysUA4AZmaFcgAwMyuUA4CZWaEcAMzMCuUAYGZWKAcAM7NCOQCYmRXKAcDMrFAOAGZmheqzACBpnb46tpmZNRgAJI2UNDM/3kDSryXdJ+m4TrbbRNIvq5YvlnRxXhzXbKbNzKz7Og0AkkYAFwPD8qrJwPERMQaYIKmlne02BL4DrFq1egGwUNJ2wJ3dybiZmXXPoAbSLAImApWW/AvA5pIeBVYA5raz3SvAfsCNVetECjqjI2J6Uzk2s35r1JRre+1Yc07Zs9eOtbzqtAcQES9HxEtVq24AtgOOBG4FFraz3XMRMb9m9QukILCGpJmS1qjdTtIkSbMkzWptbW20HGZm1kXNTAJPAQ6JiGOBocCujW4YEV8FbgIGA1cAO9VJMy0ixkbE2JaWuqNLZmbWA5oJAOsD60haEdgKiEY3lDQwpw9gfpPHNzOzHtBMBXwCMANoBZ4EbpW0s6TJDWy7A3ALcDtwBJ4INjPrM41MAgMQEePy/2uB2pmeW/Nfu9vlx7flh63AJl3Ip9lyoTcnScETpdYxD8GYmRXKAcDMrFAOAGZmhXIAMDMrlAOAmVmhHADMzArlAGBmVigHADOzQjkAmJkVygHAzKxQDgBmZoVyADAzK5QDgJlZoRwAzMwK5QBgZlYoBwAzs0I5AJiZFcoBwMysUA4AZmaFcgAwMyuUA4CZWaGaCgCS3iFpF0krN3tgSes0u62ZmXVfQwFA0khJM/PjjYBLgfcDt0ka0sm210gakx+fLOlGSQLGdy/rZmbWHYM6SyBpBHAxMCyv2hz4VEQ8JmkzYH3g4Xa2PRB4LCLuy6tagHuALYG/dTPvZmbWDY30ABYBE4GXASLi58ATkvYERgCP1ttI0mrAacCLkiqtfZGCzk7Abd3LupmZdUenASAiXo6Il2pWrwTsDzwBRDubfhm4HDgPOEjSXsADwHrAYuB2SZvUbiRpkqRZkma1trY2XhIzM+uSpiaBI2JuRBwMDAa2aSfZlsDZEfEscBkwLiLOAKYD84ArgD3r7HtaRIyNiLEtLS3NZM/MzBrQ5QAg6VxJO+XF4cDcdpI+CmyQH48l9RYq27wCzG/m+GZm1jM6nQSu41RguqQAboqIhyXtDGwaEWfVpLtA0rGkFv+++Q6i+0kB4DrgkG7l3szMmtZwAIiIcfn/48AONc/dCtxas+5pYI+a3bxS9XiJ8X8zM+s9zfQAlgmjplzbq8ebc8oS0xlmZv2ax+DNzArlAGBmVigHADOzQjkAmJkVygHAzKxQy+1dQLbs8h1cZr3DPQAzs0I5AJiZFcpDQMuo3hwm8RCJ2fLJPQAzs0I5AJiZFcoBwMysUA4AZmaFcgAwMyuUA4CZWaEcAMzMCuUAYGZWKAcAM7NCOQCYmRXKAcDMrFB9EgAkrdMXxzUzszZdDgCS1pd0raSZkk7rIN1ISTOrlk+WdKMkAeObzK+ZmfWQZnoA3wb+KyJ2BN4paVxtAkkjgIuBYVWrW4B7gC2BvzVxXDMz60HNBICNSBU5wHPAqnXSLAImAi9XrRPp66d3Am5r4rhmZtaDmgkAPwdOkPRhYHfg17UJIuLliHipZvUDwHrAYuB2SZvU27mkSZJmSZrV2traRPbMzKwRXQ4AEXEScD3wGeDiiHi1we3OAKYD84ArgLq/MhIR0yJibESMbWlp6Wr2zMysQc3+Ith9wLrAx7u43XDgFWAIsFKTxzYzsx7Q7G2gXwFOj4h5kjaVdFJnG0jaCLgfuAs4As8DmJn1qaZ6ABFxQtXjB4Gp7aQbV/X4L1VP1R3/NzOz3uNPApuZFcoBwMysUA4AZmaFcgAwMyuUA4CZWaEcAMzMCuUAYGZWKAcAM7NCOQCYmRXKAcDMrFAOAGZmhXIAMDMrlAOAmVmhHADMzArlAGBmVigHADOzQjkAmJkVygHAzKxQDgBmZoVyADAzK1SfBABJK0tatS+ObWZmSdMBQNJISfe289wgSX+TNCP/bSZpb0l/krQOsAfwerPHNjOz7hvUjW2/Cwxt57nNgUsi4muVFZK+AHwNeB8wOCLe6Maxzcysm5rqAUjaGXgNeLadJNsBH5J0l6QLJQ0CFpMCxg7Abc0c18zMek6XA4CkIcBxwJQOkt0N7BIR2wKDSUM+lwFHAn8FTpN0QDv7nyRplqRZra2tXc2emZk1qJkewBTgnIiY20GaP0bEM/nxLGB0RNwOHAA8SQoC/15vw4iYFhFjI2JsS0tLE9kzM7NGNBMAdgEOlzQDGCPpgjpppkvaQtJAYB/g/rz+A8BvgYVANHFsMzPrIV0OABGxU0SMi4hxwH3A6ZJOqkn2TWB6fv4PEXGLpAHAPOAfpIng/+tWzs3MrFu6cxcQOQgATK1Z/wDpTqDqdYuBK/Lizt05rpmZdZ8/CWxmVigHADOzQjkAmJkVygHAzKxQDgBmZoVyADAzK5QDgJlZoRwAzMwK5QBgZlYoBwAzs0I5AJiZFcoBwMysUA4AZmaFcgAwMyuUA4CZWaEcAMzMCuUAYGZWKAcAM7NCOQCYmRXKAcDMrFAOAGZmheqzACBppKTBfXV8M7PSNR0AJF0o6Q+SpjaaRtJkSXdLGgZMiIgFzR7fzMy6p6kAIGlfYGBEbA9sIGl0g2nGABcA2wCvNZ9tMzPrrmZ7AOOAy/Ljm4AdGkwjYDCwG3B9k8c2M7MeoIjo+kbShcD3I+J+SbsBW0XEKZ2lAR4HPgVcDewL/HdE/KZmu0nApLy4MfBwlzPYPasDz/fyMXvT8lw+l23ZtTyXry/Ktl5EtHSWaFCTO38VGJofr0T9nsQSaSLiUklPABsA1wL7AW8JABExDZjWZL66TdKsiBjbV8df2pbn8rlsy67luXz9uWzNDgHNpm3YZwtgThfSjAYeA+Z34/hmZtZNzfYArgJmSloL+CDwMUknRcTUDtJsJ2kV4FngQeA84JvNZ93MzLqjqQAQES9LGgfsCpwaEc8C93eS5qX81M35/5imcrz09dnwUy9Znsvnsi27lufy9duyNTUJbGZmyz6PwZuZFcoBwMysUEUFAEmrSrpe0k2SrpQ0pN5XWuTvKZpZZ/trJPXLuYtmyybpREkz8t9Dko7pmxK0rxtl20DSryXdJ+m4vsl957pRvq0k3SLpd5KO7pvcd6yRstVLk9d3+nUzfambZatbx/S2ogIAcCBwekTsRrob6WPUfF2FpBHAxcCw6g0lHQg8FhH39XamG9RU2SLihIgYFxHjgAeAH/V+1jvV7HWbDBwfEWOACZI6/WBMH2m2fGeSPli5A7CfpPV7Od+N6LRsddLs3sjXzfQDzZatbh3TF4oKABFxTkRU7kJqAT7Bkl9XsQiYCLxc2U7SasBpwIuSxvdejhvXbNkqJG0DPBURf++F7HZJN8r2ArC5pJHACsDc3slx13SjfKtFxJOR7uR4AVill7LcsEbKVifNczT2dTN9qhtla/d92NuKCgAVkrYHRgBPApUK75/AyIh4ueqW1YovA5eTPrtwkKS9ei2zXdRE2Sq+SGpR9ltNlO0GYDvgSOBWYGFv5bWxR4LpAAABf0lEQVQZTZTvd0rfsHsAMAr4Y69ltos6Klttmoi4g9Q6rpuuv+lq2Tp5H/aq4gJAbs2fCRxKY19pAbAlcHb+vMNlpNZJv9Nk2ZA0HFgjIh5b6plsUpNlmwIcEhHH5vS7Lu18NqvJ8n0OeIg01PXt6Kf3dDdStpo0tJeuv2mybP1GvzypS0uegLkcOCYinqCxr7QAeJT0/UUAY4EnlmI2m9KNsgHsDVy3VDPYDd0o2/rAOpJWJH0ZYX+tIJsqX0Qsou3LEn+ylLPZlEbKVicN9dL1WqYb1I2y9R8RUcwf8AXgRWBG/juY9Anm04E/A6tWpZ1R9XgtUgX5O9InmVfu67L0VNny8k9J3+ja5+Xo4eu2J/BX4BXgEtIEXZ+Xp4ev3cXAjn1dhu6UrU6aiaT5jLrnoL/8NVu29q5lX/wV/0ngPCO/K3B7pCGe5YbLtuxansvXaNmWxXOwrOW5+ABgZlaqouYAzMysjQOAmVmhHADMzArlAGBmVigHADOzQv0/4dIG4gHNIJIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c15d390>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t17')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 分红"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>分配股利、利润或偿付利息支付的现金(元)</th>\n",
       "      <td>292,022,700</td>\n",
       "      <td>365,012,600</td>\n",
       "      <td>711,774,600</td>\n",
       "      <td>759,219,200</td>\n",
       "      <td>474,512,000</td>\n",
       "      <td>495,485,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>分配股利、利润或偿付利息支付的现金占经营活动产生的现金流量净额的比率</th>\n",
       "      <td>18.90%</td>\n",
       "      <td>28.69%</td>\n",
       "      <td>47.17%</td>\n",
       "      <td>48.82%</td>\n",
       "      <td>30.87%</td>\n",
       "      <td>36.29%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                             2016           2017  \\\n",
       "分配股利、利润或偿付利息支付的现金(元)                  292,022,700    365,012,600   \n",
       "经营活动产生的现金流量净额(元)                    1,545,448,500  1,272,482,600   \n",
       "分配股利、利润或偿付利息支付的现金占经营活动产生的现金流量净额的比率         18.90%         28.69%   \n",
       "\n",
       "                                             2018           2019  \\\n",
       "分配股利、利润或偿付利息支付的现金(元)                  711,774,600    759,219,200   \n",
       "经营活动产生的现金流量净额(元)                    1,508,960,300  1,555,220,900   \n",
       "分配股利、利润或偿付利息支付的现金占经营活动产生的现金流量净额的比率         47.17%         48.82%   \n",
       "\n",
       "                                             2020           2021  \n",
       "分配股利、利润或偿付利息支付的现金(元)                  474,512,000    495,485,200  \n",
       "经营活动产生的现金流量净额(元)                    1,537,300,000  1,365,377,200  \n",
       "分配股利、利润或偿付利息支付的现金占经营活动产生的现金流量净额的比率         30.87%         36.29%  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t18 = analysis.init_table('t18')\n",
    "\n",
    "t18['分配股利、利润或偿付利息支付的现金占经营活动产生的现金流量净额的比率'] = \\\n",
    "t18['分配股利、利润或偿付利息支付的现金(元)'] / t18['经营活动产生的现金流量净额(元)']\n",
    "\n",
    "analysis.format_show_table('t18')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c2c82b0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t18')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 公司类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>投资活动产生的现金流量净额(元)</th>\n",
       "      <td>-198,322,518</td>\n",
       "      <td>-1,782,469,713</td>\n",
       "      <td>-1,183,503,791</td>\n",
       "      <td>1,055,539,452</td>\n",
       "      <td>-1,217,671,577</td>\n",
       "      <td>-860,688,952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>筹资活动产生的现金流量净额(元)</th>\n",
       "      <td>-226,383,520</td>\n",
       "      <td>-365,205,405</td>\n",
       "      <td>-711,857,630</td>\n",
       "      <td>-759,219,240</td>\n",
       "      <td>-461,785,848</td>\n",
       "      <td>-669,982,750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>三大活动现金流量净额类型</th>\n",
       "      <td>正负负</td>\n",
       "      <td>正负负</td>\n",
       "      <td>正负负</td>\n",
       "      <td>正正负</td>\n",
       "      <td>正负负</td>\n",
       "      <td>正负负</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016            2017            2018  \\\n",
       "经营活动产生的现金流量净额(元)  1,545,448,500   1,272,482,600   1,508,960,300   \n",
       "投资活动产生的现金流量净额(元)   -198,322,518  -1,782,469,713  -1,183,503,791   \n",
       "筹资活动产生的现金流量净额(元)   -226,383,520    -365,205,405    -711,857,630   \n",
       "三大活动现金流量净额类型                正负负             正负负             正负负   \n",
       "\n",
       "                           2019            2020           2021  \n",
       "经营活动产生的现金流量净额(元)  1,555,220,900   1,537,300,000  1,365,377,200  \n",
       "投资活动产生的现金流量净额(元)  1,055,539,452  -1,217,671,577   -860,688,952  \n",
       "筹资活动产生的现金流量净额(元)   -759,219,240    -461,785,848   -669,982,750  \n",
       "三大活动现金流量净额类型                正正负             正负负            正负负  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t19 = analysis.init_table('t19')\n",
    "t19_tmp = t19.copy()\n",
    "\n",
    "t19_tmp['经营活动产生的现金流量净额(元)'][t19['经营活动产生的现金流量净额(元)']>0] = \"正\"\n",
    "t19_tmp['经营活动产生的现金流量净额(元)'][t19['经营活动产生的现金流量净额(元)']<0] = \"负\"\n",
    "\n",
    "t19_tmp['投资活动产生的现金流量净额(元)'][t19['投资活动产生的现金流量净额(元)']>0] = \"正\"\n",
    "t19_tmp['投资活动产生的现金流量净额(元)'][t19['投资活动产生的现金流量净额(元)']<0] = \"负\"\n",
    "\n",
    "t19_tmp['筹资活动产生的现金流量净额(元)'][t19['筹资活动产生的现金流量净额(元)']>0] = \"正\"\n",
    "t19_tmp['筹资活动产生的现金流量净额(元)'][t19['筹资活动产生的现金流量净额(元)']<0] = \"负\"\n",
    "\n",
    "t19_tmp['三大活动现金流量净额类型'] = \\\n",
    "t19_tmp['经营活动产生的现金流量净额(元)'] + t19_tmp['投资活动产生的现金流量净额(元)'] + t19_tmp['筹资活动产生的现金流量净额(元)']\n",
    "\n",
    "t19['三大活动现金流量净额类型'] = t19_tmp['三大活动现金流量净额类型']\n",
    "analysis.format_show_table('t19', ignore=['三大活动现金流量净额类型'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEGCAYAAACHGfl5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XmcTuX/+PHXexaMZRBTQxOjRaRJmEKLhs+Iko+lspcS2kRpI78kQpb6JKSkQvItJaJspY9Cyk59krJmX7PLbO/fH+fcd/eM2cxy3zO8n4/H/Zi5z32dc67r3DPX+1zXdc51RFUxxhhzYQsKdAaMMcYEngUDY4wxFgyMMcZYMDDGGIMFA2OMMVgwMOchEZF0loXk077K58d2cyq9shuTHRYMTJ4SkatEJCqTz0NEpGwmn5cRkaLZ2M/FIlI3g4/ricjXaZZ9JyK1s9ruuRCRUOC/ItLvHNeLFZGL8jIv7nZLAJtF5Kos0oWLSB9P4BCRIiIS5PN5SJr360SksoiUEJEoEYkUkbEi8rT7eyVPsM2voGvyn31x5iwi0hz4EDiRQZJSQCtV/Tadzx4H/gb6ZLBuPDBWRDoCycB1wKXAVcDlQBjwKjDNzUsRIFFV1a1oRFUTgarAi0CTdPYRAyz1KU8ZoDywJk05awIfAQIkAauBFOAW4LibrAhwSFUbprOfscBsoJGIbFDVz9MmEJFXgVPAUJyTrwTgRuAxoIubpiiQoO5NPyLyDc4xPp1mc2HAUVW93U1XGxgCtFDVM0B/91j+n1vPH3c/O+amvx4Y426rPtBKRBKB5TgBtCqw293vY8AqN+0xN9/VgW5AoluGq4EqQFGgH7AfmCciY1V1hoi8C/wLOOxThqvdPKX3t2MCyIKBOYuqzgbK5HD1M8CuTLY9T0QeAJ4C/gOUxKmke6jqxemsMh2oKCIKhAIT3fWSSCdYichs4AbgtIi0BF4Bwt3y/OFWkpGqWlJV1wHXisg84BFV3SYib+EEtAM4geAA8E6afQS5eQhS1RdEJByYJSLXAUNUNcEn+RvA/wFHgO44FXRlYIuILHHTFAFaAHt8jmGpDA5hos/va4BDwHsi8h7QFqigqofdinijJxC4SgKbgPnA06r6k4h8ADynqkkisgJorKpHfMr6Dk7Q7gfMBeriBIeL3TwWA3ar6n53lZeAL0RkrZvX/qo6xWd7i9KUwRQQFgxMrohIaeCEqia7i0LwOaN1z3qL45zRpojINaq6WESW4lTuP7ln/Qk+64QAqqrJqto8zf6udiu+0sB1IjIGqAG8qKpLgCuAaqp6RERewamwOgMNVHWju43NmRQpxf3Z1M33B4D3Nn0RiQbexakQnxCRSPejzjhBY7OIvA+8o6q7gb+ARu5Z/5si8ghwF9Dcfc1LEzwAVuJUmH+nWV7MPWbgHiAR6QrcAUwANgNviUgyTmCYLiJTgDGq+qO73UPAEuB2dxsPisgLItIbJ2BuEpEfVfUuEYkArsEJBtuAhsATbt4eBnYCXwFBInKlqm5S1aVut1myz7FMy6Y9KIAsGJh0iUiwTwXvu1xwumo8/+i/4FQGnn/wskCiiAxw3wfhdCPEiMgx4EMR+RV4G3jLTQtwsYis9FnnRbfivR+nGwecyuWUqjYSkUZAJ1XtISLT+OdsM20FdBtOvbnRZ1mKT1k8lWuwOwbgEQxsT1P2msAcnLPku3Eq4KuAkzgVYzBwJ9ATCBeRMOAboDcwQ0TqAO1wgkAxnBbMgyJyj6omuy2Zp4GjnB0IPEJFZDHwpKquUtXTwOdu11KYW7ZJbv6WAqOBCu66yTjHfDfwmojUAlq5+Z4OLMMJgHe76a8F1uME2yk4rYI27naO4gTadjjf1xKcVgeq+o57vIIzKIONVRZAFgxMRsaJSCecvmJfRYCXgWEAqnqZ74cishD4U1UfTG+jInIDTl/5SVWt6bN8p6rGprPKWBH5GPhQVb/yWV4eOOj+XoqMxzeWAxNE5D1Vfchd5gkYVwKfA5Vw+v7f5Z/AcxHwk++GVHWdewZ8Gqe7Crf1sUlVJ/ok7eZTrruAkW73yCSc/7lvcFoMB3AqxpHAU6o6E5gpIhNwzuATgUvcTe3DCVwXqWoL33yJSDzQwy1HCk7r6AqcLqlooK4bWFcB69zVyrv5/lZEbgIW41T0g4DWbppQnC6lGm75vxCRDjjjEr7Gquo0n/yUxAlAu4FXRGS4m5dyOC2MjAKdCSALBiZdqtodp48728S5iiga5yy/kqr+mc52U0TkO2C4iAzjnwFN35bBh6o6yt1mGZxB5rki8iFOH/RWnMFMT3dPOKmDwWK3qyQS6KOqS0RkpIg0UdX5Pnn5A6fF4jtm8K77cQxOq2cbTgD0rHNaRFbhBI0UoCJwRkR64Jxhh6lqNZ/0/xORl4ASQDOcVsNPbtognFbF92kOU22cCjOBfyreXW4+ivgmFJFbcALzzTgD7ckiMhN4Q1UXichEYBYwW1UT3e64F3HGG+q7YwKesYpon99R1QXuPnr77LImTheRp9XYGiew+HoaiHBbbWfccvyC05J7AFMgWTAweel1nCtsdgDjcfrd09MLZzAyDFipqo94PnAHl6v6pH0aeNMNIj8Ag4EOQD2cgV44u2Vwq8+YgcdrwP1uIMqoFQEwCqfyqoJzpU41N7++mgK3q+pHvi0DEXka+CKdbf4HGIHTjVId5/h4/veOqOrhNOlDgJk44xJx7rJFOEGvXZq0fXHO5tsBT4pIEk6roLqIeFoGX7qBoCVO99xhnOAETiCqihPcBOfYZNaNk4QTEDytqyhgi+dDEamIcxJxvbvoGtI/JqaAsWBgUklnTCCjdEWBZFVNct93x+mm6OhWPPeKyFBV7ZtmvUtxzpCfxrm8MT2ePv0rcCq7jSLSDefSxZpu10tpVfVUQpl1E3nMwDlDLoNTyXrKcDUQAYwRkT2q2k1EXsepNHvjjFH8nGZbITh97t4zenGu8X8W95JYn+U3A0VUdaaINMWn4kyPe/yfxhlnAac7CZwxCfC5ZNftHorCqWyDgY/cY+9tGfhu281DKHC1qr7ithq2AXtxxi+W4gwSv0vm2vj8XoHULZv/AP9R1QMicjHQGOcy1Zt88h0N7HEvhzUFhAUDk9adOIOdp8n8qo8SQLyIrMM5W78daOjeAwDOuMAi9x+/l8+lh2OA8ap6xq34WouI71hBOWAqgKpuFpHbgDWqegpARK7FuQfiCREphXOZZphPxRJK6m6iF93lKTh/701xBzqBe4FH3e3Nwwk6T+P0kT+LEwzEHQz/Q1U/cvO1x+1eecAn312Ayaq6w7NAnKui3sQZYwF4hH8GnT2C3OBWxr0E83Kcy2E9V2R5uomqe8onIj+p6lGcAPGUe6VSks82S5IxBbq5gekqnBbcbqAlTuvCc0XUJz4nBEX4p7UgQJzPScDDuIPw4lxaez1wnxsI5gDDVPWUe4GBJ8A94+b91UzyafzMgoFJxR2kLZJlQkBEGgJbgQVAXd/uDlU94Z65TgDWi8g1OAOiIcA4N1ko8Hk63UTX+GzHe/OYqwfwrjsO0AN4EHjB5/MROGMOZ9yrfzyV6iU4XVg/4px541a+U9z9hgHfAv8D/u32vf+CM1BcFWjvpnsH56Y03PKUcX+WBP4SkTtwrsipijOesBqYLc7lpqdV9UsR6YNTua7BqYyTgMfdCnQizsC4JxCfSPNTgC9F5G5V/Q34zefYlcLp898G+F495auIe/w8LYOWOGfv7d0xkxbAxzhXhR1y1wnin6uuvH8bIlIcZwykh3s817tXKMXh3FsxUlXfdJNvAGqJyGqcK6nuyCB/JkBE7UlnJofEufnqZlVdnEW6a1X1l3SWBwMh59JdICJBWXVh5ZSIlFDVk/m07ao4rYt8/YcTkaLneDwFKOZeIZVnecC5+W1bXm3T5D8LBsYYY+zmD2OMMRYMjDHGUIgGkMuXL6/R0dGBzoYxxhQqq1atOqiqEVmlKzTBIDo6mpUrV2ad0BhjjJeIbM86lXUTGWOMwYKBMcYYLBgYY4zBgoExxhgsGBhjjMHPwUBELhHnKU2+y2aL86BuY4wxAeK3YCAiZXGe9FTCZ1lHYLOqrvVXPowxxpzNny0Dz0O6PXPJX4TzwJG/3NkvjTHGBIjfbjpTVU8Q8Cx6CvgUZ/70oSJSSlVn+a7jPjClO0ClSpX8lVVj/Ca6z1dZptn2ajM/5MRc6AJ5B3It4BlV3Ssi03DmVE8VDFR1PM5878TGxuZoetXs/LOB/cMZk9fsf69wCeTVRJtwnuoEEAtk65ZpY4wxeS+QLYPhwAQR6QecAloHMC+mgLJuFGP8w+/BQFXj3J+7cZ63a4wxJsDspjNjjDEWDIwxxlgwMMYYgwUDY4wxWDAwxhiDBQNjjDEUomcgG2NMQXK+3WFtLQNjjDEWDIwxxlgwMMYYgwUDY4wxWDAwxhiDXU1U6NmsnsaYvGAtA2OMMRYMjDHGWDAwxhiDBQNjjDFYMDDGGIMFA2OMMVgwMMYYgwUDY4wx+DkYiMglIrLY5311EfnCn3kwxhhzNr/dgSwiZYFJQAn3/RXACKCkv/JgjDEmff5sGSQDbYFj7vvjwN2ZrSAi3UVkpYisPHDgQH7nzxhjLlh+CwaqekxVj/q836+qZ7JYZ7yqxqpqbERERP5n0hhjLlA2UZ0xBd2A0tlIczTrNMZkwq4mMsYYY8HAGGNMAIKBqsZl9t4YY4z/WcvAGGOMBQNjjDEWDIwxxmDBwBhjDBYMjDHGYMHAGGMMFgyMMcZgwcAYYwwWDIwxxmDBwBhjDBYMjDHGYMHAGGMMFgyMMcZgwcAYYwwWDIwxxmDBwBhjDBYMjDHGYMHAGGMMFgyMMcZgwcAYYwwFJBiIyFsi0jzQ+TDGmAtVwIOBiNwKRKrq7EDnxRhjLlQBDQYiEgq8C2wTkRaBzIsxxlzIAt0yuB/4FRgO3CgiT/h+KCLdRWSliKw8cOBAQDJojDEXgkAHg1rAeFXdC0wBGvp+qKrjVTVWVWMjIiICkkFjjLkQBDoYbAIud3+PBbYHMC/GGHPBCgnw/t8D3heRdkAocE+A82OMMRekgAYDVT0O3BvIPBhjjAl8N5ExxpgCwIKBMcYYCwbGGGMsGBhjjMGCgTHGGCwYGGOMwYKBMcYYLBgYY4zBgoExxhgsGBhjjMGCgTHGGCwYGGOMwYKBMcYYLBgYY4zBgoExxhgsGBhjjMGCgTHGGCwYGGOMwYKBMcYYLBgYY4whh8FARIqLyG0iEpLbDIjIJSKyOLfbMcYYk3NZBgMRqZrO4suBnsCM3OxcRMoCk4ASudmOMcaY3MlOy+B/IvKE7wJV/UVV7wbK5XL/yUBb4Fgut2OMMSYXshMMfgcuE5EZIlIxzWencrNzVT2mqkcz+lxEuovIShFZeeDAgdzsyhhjTCayEwzOqOpzwKvAJyLSV0Q83TqSf1kDVR2vqrGqGhsREZGfuzLGmAtapsFARIKAEABV/QloAOwHvhWRGcChfM+hMcaYfJfV1UCPAf08b1RVgfeA90TkYlXdn5+ZM8YY4x8ZBgMRESAFeEFEBgMJ7ssjSESKqer1uc2EqsbldhvGGGNyLsNuInW8par1cVoHocAU4GZVvUlV6+VFIDDGGBN42brpTFVnA/WBv7O7jjHGmMJDnGGAgi82NlZXrlyZfzsYUDrLJDFVKmWZ5ufOP+dFbvJWNsoG53f5slM2KKDly4aYSTHZSlcgy3c+/+9BwMsnIqtUNTardHaWb4wxxoKBMcYYCwbGGGOwYGCMMQYLBsYYYzjHYCAi14hIiIiEisg1+ZUpY4wx/nWuD6f5BaiGM0Hdz0BwnufIGGOM351rMKgC7HJ/vzyP82KMMSZAzikYqOp2n7fbM0xojDGmUMnWmIGI1EhnWRd3MjtjjDGFXHYHkN8QkWgRCfVZ9oAWlrksjDHGZOpcuonaAw+LyA/AXM63h9gPyPDpm//I5vwvxhhT2GT1pLO6IjIMZ0broaoaDQwGIoC0z0M2xhhTSGXVMogBPgVqAYjIZcCdwGXAH/mbtYKnwM6KaIwxuZRpy0BVJ6jqSpynmrUB3gf2Ai/7I3PGGGP8I9OWgYiUAw4D76vqNGCaz2d/ikiQqqbkcx6NMcbks6y6iV4CGgGzRaR/ms/+AAYC/y8/MmaMMcZ/suom6gk0B4oDPYFDwEKf13e5zYCIXCIia3K7HWOMMTmX5X0GqrpVVXsBNwHFVXUpUF5Vl6jq13mQh5FAWB5sxxhjTA5lGQxEpKKINAAigZ9EpALwXF7sXEQaASdxBqWNMcYESFYDyKWBe4AbgJtxbjZbD5w51x2JyDvA1T6LvgUaAq2AmRms0x3oDlCpUvYeaG6MMebcZRgMRORiYBmwFWcgORIYBtyRkx2p6sNptt8feEtVj2Q0xZGqjgfGA8TGxtrUF/nM7qMw5sKVYTeRqu7HuelsC3A9UAaoB1QFyojIbSISn4t9xwOPi8gi4HoRmZCLbRljjMmFTLuJVPWUiGwErgNK43QXXeH+fhtQFPgmJztW1Qae30Vkkap2zcl2jDHG5F5m3USlgI9xxgdew3mwzWicbqJwVR2YV5lQ1bi82pYxxphzl1k30XGgK869BI8AVwHP+ylfxhhj/CirbqI9IvIpzkDyKJzg8SfQ0Q95M8YY4ydZPs9AVXcDu32Xicgr+ZYjY4xJw650y3/ZfdJZKqq6IK8zYowxJnByFAyMMcacXywYGGOMsWBgjDHGgoExxhgsGBhjjMGCgTHGGCwYGGOMwYKBMcYYLBgYY4zBgoExxhiyMTeRMcaY/FUQ5l6yloExxhgLBsYYY6ybyFwgCkIz3JiCzFoGxhhjrGVgzPnAWj4mtwLWMhCRsiIyR0RWisg7gcqHMcaYwHYT3Qd8pKqxQCkRiQ1gXowx5oIWyGBwCLhWRMoAlwE7ApgXY4y5oPltzMDtCrraZ9F/gcpAT2ADcDiddboD3QEqVarkh1waY8yFyW8tA1V9WFXjPC+cQPCIqg4EfgMeTGed8aoaq6qxERER/sqqMcZccAJ5NVFZIEZEfgTqAt8EMC/GGJM/BhwNdA6yJZBjBkOB8cBR4CLg/wKYF2OMuaAFrGWgqsuBGoHavzHGmH/YHcjGGGMsGBhjjLFgYIwxBgsGxhhjsGBgjDEGCwbGGGOwYGCMMQYLBsYYY7BgYIwxhkL+pLPExER27tzJ33//HeisFGxNpmUv3YYN+ZuP/JKd8hXSshUrVoyoqChCQ0MDnRVznivUwWDnzp2UKlWK6OhoRCTQ2Sm4dmczWFasnr/5yC/ZKV8hLJuqcujQIXbu3EmVKlUCnR1znivU3UR///035cqVs0BgzksiQrly5azla/yiUAcDwAKBOa/Z37fxl0IfDIwxxuSeBYPzSEJCQqafnzp9mr37D/opN+fu2LFjqGq20v7111/5nJt/fP/99+zatQtwjrEnjykpKSQnJ5+Vftu2bdne9pYtW/Ikj8bkVqEeQE4rus9Xebq9ba82y3bajz/+mNatWyMiBAcHExT0T5xNSkoCICQkhHr16vHjjz8CcP3117N27dpUn7/99tvceuut1KjhPOph3759bNq0iTVr1lC0aFG6deuWYR569uzJ/fffz0033eRdlpKSgqgiIixZvpbJn33JlNGDvfkKCXH+BPYfPMzSn2bQqlUrRowYQdmyZenatWu6++nXrx9du3alSpUqJCQk0L59e6ZPn+79PCEhgaCgIEJCQkhOTmbYsGFMnz6dsmXLAvDzzz+zb9++VNtUVTp06EBMTAxDhw49a5+9evXi8ccfJzo6mtDQUIYMGUJcXBzNmjUjMTHRe8x37t5H7J2dqHZldKr1N27dxYoVK4iKiiIlJYXExESKFi1KcnIy9evXZ9asWURGRqZb3nnz5lGjRg06duxI//79WbFiBevXr6dWrVo8/fTTNGnSxJt22LBhXHXVVURHR7Nnzx7atm1LkSJFUm0vISGB+fPnExYWxuzZs4mIiKBDhw7p7tsYfzmvgkGgbNy4kc8//5x27drx5ptv8tVXXyEirFu3jsmTJ3PixAkmTJhAaGgoGzdupGXLlgD8+eeftGzZksTERB577DGaNWtGo0aNuO++++jduzdTp06lTJkybN++nUGDBnHllVcCcOLECRo3bkyJEiVISkri9ttv54UXXiAkJIRSpUqlytv8+fMZ8Up/VCE42AlQcfd0QxBSNIV5U8YQFlaMhUuWs37HMVq1akVoaKg3SKRn1apVDBo0CICvv/6a4sWL89tvvwFw+eWXs2zZMvr168fmzZupWbMm8fHxvPbaa8TFxQFw1113nbXNvn37cuedd3LgwAGGDx/Os88+m6q/vE2bNowYMQJVZevWrWzcuJGff/6Z0aNHewNO7dq1KBp6AIJCoEjJs/YRHBzszfO4ceOYPn06Q4YM4cyZM3Tq1Im1a9cyduxY2rZtC8Ann3zCSy+9RGRkJD/88ANPPvkk+/btY9u2bQwfPpy333471fa3bdvGjh07eP755wGoUKEC33//fYbHEZwg17FjR5o3b37Wd2eMP1kwyANjx47lnXfeoU+fPnTo0IGePXsyc+ZMfvjhBxo3bsyJEye46qqrAJg4cSIPPPAAAJMmTaJz584AREdHk5KSQnh4OEuWLEFEaNOmDdu3b2fAgAHceuutqCopKSmULFmSZcuWefe/ZcsW2rdvz9q1a9m1axdnzpyha9eutG7dmjvuuIM7akZSv3lnZr7/OpdElGPut0v5+Iv5TBo10LuNqTPmsvvwSZYtW8bOnTsJCQlh4sSJJCYmct999/HII4+QnJxM+fLlqVmzJrVr16Z58+asWbOG8PBwXn31VZYvX87nn3/ObbfdxsyZM3nmmWeYOHEiI0eOBKBt27YMGzYs1bFLSkriiSeeoFKlSjz22GOAc3bdpEkTXnrpJW6++Wa2bt1KUlIS7777LgAvvvgiDz30EE2bNmXcuHH069fPu73g4GA6dOjANddck2o/GzZs8J6hN2nShDVr1jBw4EAmTZrE6NGjSUlJ4YUXXqBcuXL8/vvvVK1alYoVK/LUU0/xww8/MGnSJL7++mt++ukn5syZw/Hjx5k6dWqqM/oPP/yQxx9/3Pte3RZZenw/69SpEzNnzuS+++7L9O/MmPxkwSCXZs6cyZw5c1i4cCE33HADlStX5uWXX6ZKlSqUKFGCl19+mXr16jF69GjuuusurrzySpYsWQLAFVdcwZIlS/jyyy/p3bs3lSpV4p577qFfv3589tlnHDx4kDNnzrBlyxbi4+NRVbp168a2bdtYuHAhycnJBAcHEx4ezvTp0+natSv9+/f3tkx8db63OctWradl04Z8NGMOj3dug6qiqqz55TeSkpNZtWoVAG+88QZlypTxBi2P4OBgateuzcKFC1m0aBFvvfUWFSpU4LXXXiM8PJzHH3+cokWL8uOPP/LUU0+xbds2unTp4q2YT548yaWXXurd3rp163j00UeJjIxkw4YNLFiwwPtZREQEAwcOpGXLlrRo0YLnn3+eNm3acPr0aT744ANq1KjBZ599xuHDhzl27BjDhg1j0qRJTJ06ldKlS7N79+6zvqtOnTrRs2dP7rjjDvr06cOWLVv497//zaFDh3j22WcZOXIk69atY8GCBQwfPpw6derw4osvAlC5cmWGDRvGrFmzuOyyy2jcuDFvvvlmqmCwefNmqlf/536G2NhYQkND2bp1K5GRkZw4cYKgoCDKlSvHpZde6u1aq1evHoMGDbpwg0EheWD8+c6CQS61bNmSuLg4unXrxtixY+nduzc9evQgJiYGgMmTJxMeHk6bNm1YvXo1v/76K8WLFwec7p66desyZswYSpcuTdmyZfn++++ZO3cun3zyCeB0PQwYMICJEyem2m+HDh3o1asX06ZN83Z/HDx4kIiICI4fP+7tUho6dCgfvPs2F5e/CICRb38IwLOvjEJVGfnikyQkJvHy0494g4sv33EFcCrwuLg4jhw5QsuWLbnvvvvo1KkTs2bN4syZM5QoUYJ69eoxe/ZsnnnmGd5//31effVVAIoXL05oaKh3jKR69ep8+umn3gDhKWPaIATw3Xffcfz4cfbu3Uv79u2pXLmyN6/PP/88qkrnzp258cYbef7552nQoAF//PEHqkrVqlX5/vvvef31172V9bp161i4cCHTp08nLCyMP//8kxEjRnD06FEOHDhAVFQU1157LV26dOHTTz8lOjqae++9lx9//JHq1aszf/58oqKiMv3b8ATXFi1a8Prrr/P1119TrFixs8oXFhbG6dOnM92WMfktoMFARCoANYCfVPV4IPOSU3/99RetW7emZs2aPPLII9x222307NmTjRs3cvnll1OhQgU+/fRT6tevz549eyhTpgwlSzr92UePHqV8+fJER0d7txceHs6ECRO4/vrrad68OVFRUZw6dYr4+HhCQ0OZO3cu4ASZxx57jPfee4+wsDA6d+7MyZMnCQsL4/jx45QoUQJwbswb2vcJ7m72r0zLkZyczC233ELRokVTdRMVK1aMefPmedNdf/31fPPNNyxatIhFixZxxRVXEBwczPr16zl9+rR3v75at25NWFgYmzdv5osvvmDIkCEAFClShL/++ov27dtTpEgR9uzZA8CUKVNISEjg+eefp1kzZxA/ODiYkSNH8uqrrxIfH0+9evVo3rw5AwcO5Kuv/rlwICUlhVWrVnHs2DH279+PqvL777/zxx9/pLry57XXXqN79+706NGDIkWKEBcXx5w5c/jxxx+ZN28ePXv2ZMuWLcyYMYOqVaty2WWX0a5dOyIjIzly5AjlypVj7969qcoZFhbGiRMnvN+vx65du7j44oszPPZbt27lsssuy/T7MSa/+S0YiMglwGeqeqv7viowAVgIDBeReqqa+bWRBZCIcNddd1G7dm1iYmIoX748Xbt25YEHHmDAgAHeiv7nn3/2VuRpxcTE0KhRIwCWLFlChQoVuOiii7jppptStQj+9S+nQt+8eTNTp06lQoUKbNy4kVmzZlGrVi1q1qwJwPHjx70V0t69e2l245VZliM4ONg7DpFRN1FGxo4dyyWXXMJeckhpAAATtUlEQVTp06cpXrw4Z86cYf369fz000/Ex8fzzTffMH78eOrXr8+yZcto0aKFd91rr72WZs2acdddd7FixQrAGWDu3bu3NxCAc7VWSEgIiYmJ3oHz9PrkS5UqRZcuXShXrhxr1qwhJSWFOnXqcPDgQcLDwwGn8t2+fTt16tShcePGhIaGsm7dOu68806CgoK49957Aeeqn02bNnHLLbewfPlyWrZsyb59+1izZg01a9Y86zLYO++8k+nTp3vHgcD53suUKXPW4HBiYqJ3vqFp06bRqlWrbB1rY/KLX4KBiJQFJgG+p43XAQ+q6mYRiQGqABtzs59zuRQ0rxw/fpzSpUsze/Zshg8fzrhx41Kd6XucPn2aevXqebtMPAYMGMCpU6cAp4J48sknmTRpEiLCggULiI+P96ZNSUkBnLP4e+65h8jISBo2bEiDBg144okneP/99wEnAISHh/P333+zdOlSRvd9KNMyeAamgzP4PCkpieDgYESENWvWpOomAqhYsSIAhw4dQkQYN24c//3vfxkyZAhNmjRhxYoVzJ07l969ezN79mwWLlzIqlWreO655wC44447ePLJJ+nYsSMAb775ZqrK8fTp04wYMYJvv/2WefPmUa9ePY4e/aefef/+/axevZqmTZvy7bffsmjRIoKDg70tgx07dpCSkkJsbCyVKlXi448/plevXoSFhfHdd98BeFsGxYoV8263WrVqXHHFFcyZM4dDhw7RqlUrmjdvTvfu3YmNjWX16tWcPn2asLAwwAlibdu25Y477uDiiy9m9+7ddOzYkQkTJgAQFBTEwYPOfR79+/fnmmuuoW7duuzatYvrrrsu0+/ImPzmr5ZBMtAW+MKzQFU/E5EQEWkGlAU2+SkveSohIYE9e/bQqlUrevToQZcuXbyXWnbt2pXg4GC6detGZGQkU6dO9d5j4LFt2zZvP/aff/5J3bp1qVGjBnv37uX2229P1TJo0KABAFWrVmXgwH+uBJo2bRpdunShUqVKNGzYkCpVqhAdHc2QIUNo164dRYpkPuPlqvUbeHrg64SWKJtq+ZQpUwA4c+YMkyZNonLlytSpU4cFCxawbNkyFi9eDDhXRb3yyivUq1cPgCeffJInn3wSgDFjxrB48WImT57M4cOHmTZtGtOmTfMGrnbt2rF//37279/P66+/DsCePXuIiYnhtddeY+zYsSQlJXHfffexZcsWXnnlFebOncvgwYNJSkrizJkz3H777fTo0YPVq1fz4YcfUrp0aQBOnTqFqnpbSaNHj+bSSy/1Xvrp0bdvXzZv3pzuzKB///03X3zxBV9++SX//e9/GTVqFB9//DFRUVH88ssvqb4/EeH111/nm2++oWHDhtx2222MGDGCG2+8EXACzqOPPspnn31GZGQkzz77LNOmTfNebWVMIEl27/g8p42KvANc7bPoW1UdKCKLVDXOJ10ZYBROsOiqqilpttMd6A5QqVKlOtu3b0+1nw0bNqS6euN8oqokJCRQtGjRLNOmpKSkusnN48iRI4SHhxO0d132dlqx1rlmE3DGTZKSkoiIiDjrszNnzmSrDNnx999/c+rUKS666KI82Z7H6tWriYqKyrRf3yMhIeGsm8gy4tsVlBvn89+5yX8iskpVY7NKly8tA1V9OJvpjgCdReRD4AbgpzSfjwfGA8TGxuZ91CrARCTblWh6gQCgTJkyeZmlDHnuLE5PXgUCcOb29+3GySu1a9fOdtrsBgLAnkFgCpWAzU0kIuNEpIH7tgxwJFB5McaYC10gLy0dDnwoIgosUNVcDR4bY4zJOb+2DHzHC1R1q6reoqq3quogf+bjfGWzluYPm7XUXAhsCus8sGvXLjp16gQ4ldRFF11EfHw8tWr9MyA7efJk7xOr5s+fz5gxY9Ld1ttvv83//vc/7/t9+/axdOlSxowZ452bJyM9e/bkhx9+SLUsJSXFW3ktWb6WZwb9x/uZ505gcGYtnTFjBgAjRozwXg6Znn79+rF161bAqRzvvvvuVJ8nJCR4t52cnMyQIUOoU6cO8fHxxMfHc8kll5y1Tc+spS+88EK6++zVqxe///67tzIeMmSI92azxMRE72W3O3fuJDIykri4uFSvChUqsHPnTu8xOXPmjDd/N95441k3kPmaN28eixYtApxLQuPj44mIiKBp06Z88803qdIOGzaM1atXA85VUQ0aNPCW2/Nq0KCB947j2bNnM3Xq1Az3bYy/nF/TUQwoncfby3rOlOTkZEJCQggJCSEpKYnjx49zyy23MGvWrFSzc1588cV06NCBkSNH0q9fP4oUKcKHH35ISkoKpUuX9lYqNmtpbmYtrZ3pgLXNWmpMxs6vYBAAX331FSNHjuSPP/6ga9eu1K5dm/r16wNw+PBhBg0aRJcuXWjatCmqyuHDh5k+fToTJkxgx44dvPDCC96zWpu11GYtNSZQLBjk0r///W9uuukmb8X3zDPPeGe6nD59Ovv376dkyZL06tWLyMhIrrvuOj755BMqVKhA06ZNeemll6hYsSKdOnWiVKlSNmupy2YtNca/LBjkgU2bNrFo0SK6devGqVOnuO6666hSpQq7d+/moYce4tlnn6VJkyYMHz6cyZMnU65cOUJCQpg1axYADz74IFdffTXFixe3WUuxWUuNCQQLBrn05ptvsnz5cmrXrs0777xDUlISbdu2ZcaMGXTo0IFOnToRFBREbGwskZGRLFq0iIULF1KyZEnq1q3LgAEDCA0N9U5rbbOW2qylxgSCBYNc6tmzJwcPHuSZZ54hKCiIIkWKcOmll9K3b19iYmK8Z72+V+4MHz6cl19+mRUrVlCxYkVvIACbtRRs1lJjAsGCQR7wDACDcyZesmRJxo8fz6BBgzh27Bjh4eGEh4fz8MMP06lTJ26//XYqVapEnz592LhxI126dCE2NpaUlBSbtRSbtdSYgPAMIhb0V506dTStX3/99axl/rZ3716tVq2ajhw5UqdOnap16tTRiRMnamJioo4fP17r1auno0aN0rZt2+rAgQN106ZNqdbfs2ePvvHGG6qqumnTJn3ssce8yzt37pwq7a233ppuHoYOHaoTJ07UhIQEjYuL0wcffFBVVQcPHqyDBg1S3bU609eKOVO0Qb3a+q9//Svd1y233KKbN2/WpKQkbdy4saqq/vDDDzps2DBVVZ04caJeeeWV2qlTp7PyNnr0aG3Tpo0eO3ZMt23bppUrV9bKlSvrwoULVVW1bdu22rBhQ61Ro4bGxMRoTEyMli9fXhs2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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f37c273e80>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t19')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输出分析报告"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "文档 [ALL-002508-财报分析（2016~2021）.docx] 已输出到 [dist] 目录下。\n"
     ]
    }
   ],
   "source": [
    "# ReportDocument(analysis).save()\n",
    "from analysis.utils import read_company_code\n",
    "\n",
    "start = analysis.tables['t1'].index[0]\n",
    "end = analysis.tables['t1'].index[-1]\n",
    "\n",
    "name = f\"ALL-{read_company_code()}-财报分析（{start}~{end}）.docx\"\n",
    "doc = ReportDocument(analysis, doc_name=name)\n",
    "doc.save()\n",
    "\n",
    "print(f\"文档 [{name}] 已输出到 [dist] 目录下。\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
